| @@ -296,6 +296,51 @@ | |||
| "ref": "0.1.1", | |||
| "url": "https://github.com/vector-of-bool/neo-fun.git" | |||
| } | |||
| }, | |||
| "0.2.0": { | |||
| "depends": {}, | |||
| "description": "Some library fundamentals that you might find useful", | |||
| "git": { | |||
| "auto-lib": null, | |||
| "ref": "0.2.0", | |||
| "url": "https://github.com/vector-of-bool/neo-fun.git" | |||
| } | |||
| }, | |||
| "0.2.1": { | |||
| "depends": {}, | |||
| "description": "Some library fundamentals that you might find useful", | |||
| "git": { | |||
| "auto-lib": null, | |||
| "ref": "0.2.1", | |||
| "url": "https://github.com/vector-of-bool/neo-fun.git" | |||
| } | |||
| }, | |||
| "0.3.0": { | |||
| "depends": {}, | |||
| "description": "Some library fundamentals that you might find useful", | |||
| "git": { | |||
| "auto-lib": null, | |||
| "ref": "0.3.0", | |||
| "url": "https://github.com/vector-of-bool/neo-fun.git" | |||
| } | |||
| }, | |||
| "0.3.1": { | |||
| "depends": {}, | |||
| "description": "Some library fundamentals that you might find useful", | |||
| "git": { | |||
| "auto-lib": null, | |||
| "ref": "0.3.1", | |||
| "url": "https://github.com/vector-of-bool/neo-fun.git" | |||
| } | |||
| }, | |||
| "0.3.2": { | |||
| "depends": {}, | |||
| "description": "Some library fundamentals that you might find useful", | |||
| "git": { | |||
| "auto-lib": null, | |||
| "ref": "0.3.2", | |||
| "url": "https://github.com/vector-of-bool/neo-fun.git" | |||
| } | |||
| } | |||
| }, | |||
| "neo-sqlite3": { | |||
| @@ -9,7 +9,7 @@ | |||
| "range-v3": "0.10.0", | |||
| "nlohmann-json": "3.7.1", | |||
| "neo-sqlite3": "0.2.3", | |||
| "neo-fun": "0.1.1", | |||
| "neo-fun": "0.3.0", | |||
| "semver": "0.2.2", | |||
| "pubgrub": "0.2.1", | |||
| "vob-json5": "0.1.5", | |||
| @@ -23,6 +23,7 @@ struct rglob_item { | |||
| }; | |||
| struct glob_impl { | |||
| std::string spelling; | |||
| std::vector<rglob_item> items; | |||
| }; | |||
| @@ -33,11 +34,11 @@ struct glob_iter_state { | |||
| const bool is_leaf_pattern = std::next(pat_iter) == impl.items.end(); | |||
| fs::directory_entry entry; | |||
| fs::directory_entry entry{}; | |||
| fs::directory_iterator dir_iter{root}; | |||
| const bool is_rglob = !pat_iter->pattern.has_value(); | |||
| std::unique_ptr<glob_iter_state> _next_state; | |||
| std::unique_ptr<glob_iter_state> _next_state{}; | |||
| int _state_label = 0; | |||
| fs::directory_entry get_entry() const noexcept { | |||
| @@ -164,6 +165,7 @@ dds::detail::glob_impl compile_glob_expr(std::string_view pattern) { | |||
| throw std::runtime_error("Invalid path glob expression (Must not be empty!)"); | |||
| } | |||
| acc.spelling = std::string(pattern); | |||
| return acc; | |||
| } | |||
| @@ -236,3 +238,5 @@ bool dds::glob::match(dds::path_ref filepath) const noexcept { | |||
| _impl->items.cbegin(), | |||
| _impl->items.cend()); | |||
| } | |||
| std::string_view dds::glob::string() const noexcept { return _impl->spelling; } | |||
| @@ -56,6 +56,8 @@ public: | |||
| auto end() const noexcept { return glob_iterator::sentinel_type{}; } | |||
| bool match(path_ref) const noexcept; | |||
| std::string_view string() const noexcept; | |||
| }; | |||
| } // namespace dds | |||
| @@ -114,18 +114,20 @@ packages = [ | |||
| description='A modern and low-level C++ SQLite API', | |||
| git_url='https://github.com/vector-of-bool/neo-sqlite3.git', | |||
| ), | |||
| Package('neo-fun', [ | |||
| Version( | |||
| many_versions( | |||
| 'neo-fun', | |||
| ( | |||
| '0.1.0', | |||
| description='Some library fundamentals that you might find useful', | |||
| remote=Git('https://github.com/vector-of-bool/neo-fun.git', | |||
| '0.1.0')), | |||
| Version( | |||
| '0.1.1', | |||
| description='Some library fundamentals that you might find useful', | |||
| remote=Git('https://github.com/vector-of-bool/neo-fun.git', | |||
| '0.1.1')) | |||
| ]), | |||
| '0.2.0', | |||
| '0.2.1', | |||
| '0.3.0', | |||
| '0.3.1', | |||
| '0.3.2', | |||
| ), | |||
| description='Some library fundamentals that you might find useful', | |||
| git_url='https://github.com/vector-of-bool/neo-fun.git', | |||
| ), | |||
| many_versions( | |||
| 'neo-concepts', | |||
| ( | |||