24 #ifndef PXR_BASE_ARCH_REGEX_H
25 #define PXR_BASE_ARCH_REGEX_H
28 #include "pxr/base/arch/api.h"
33 PXR_NAMESPACE_OPEN_SCOPE
37 static constexpr
unsigned int CASE_INSENSITIVE = 1u;
38 static constexpr
unsigned int GLOB = 2u;
42 ARCH_API ArchRegex(
const std::string& pattern,
unsigned int flags = 0);
43 ArchRegex(
const ArchRegex&) =
delete;
44 ARCH_API ArchRegex(ArchRegex&&) noexcept;
45 ArchRegex& operator=(const ArchRegex&) = delete;
46 ARCH_API ArchRegex& operator=(ArchRegex&&) noexcept;
47 ARCH_API ~ArchRegex();
50 ARCH_API explicit operator
bool() const;
54 ARCH_API std::
string GetError() const;
57 ARCH_API
unsigned int GetFlags() const;
61 ARCH_API
bool Match(const std::
string& query) const;
65 unsigned int _flags = 0;
67 std::unique_ptr<_Impl> _impl;
70 PXR_NAMESPACE_CLOSE_SCOPE
72 #endif // PXR_BASE_ARCH_REGEX_H