24#ifndef PXR_BASE_ARCH_REGEX_H
25#define PXR_BASE_ARCH_REGEX_H
28#include "pxr/base/arch/api.h"
33PXR_NAMESPACE_OPEN_SCOPE
38 CASE_INSENSITIVE = 1u,
43 ArchRegex() =
default;
45 ArchRegex(ArchRegex &&) noexcept = default;
46 ArchRegex(ArchRegex const &) = default;
47 ArchRegex &operator=(ArchRegex &&) noexcept = default;
48 ArchRegex &operator=(ArchRegex const &) = default;
51 ARCH_API ArchRegex(const
std::
string& pattern,
unsigned int flags = 0);
54 ARCH_API ~ArchRegex();
57 ARCH_API explicit operator
bool() const;
61 ARCH_API
std::
string GetError() const;
64 ARCH_API
unsigned int GetFlags() const;
68 ARCH_API
bool Match(const
std::
string& query) const;
72 unsigned int _flags = 0;
74 std::shared_ptr<const _Impl> _impl;
77PXR_NAMESPACE_CLOSE_SCOPE