7#ifndef PXR_BASE_ARCH_REGEX_H
8#define PXR_BASE_ARCH_REGEX_H
11#include "pxr/base/arch/api.h"
16PXR_NAMESPACE_OPEN_SCOPE
21 CASE_INSENSITIVE = 1u,
26 ArchRegex() =
default;
28 ArchRegex(ArchRegex &&) noexcept = default;
29 ArchRegex(ArchRegex const &) = default;
30 ArchRegex &operator=(ArchRegex &&) noexcept = default;
31 ArchRegex &operator=(ArchRegex const &) = default;
34 ARCH_API ArchRegex(const
std::
string& pattern,
unsigned int flags = 0);
37 ARCH_API ~ArchRegex();
40 ARCH_API explicit operator
bool() const;
44 ARCH_API
std::
string GetError() const;
47 ARCH_API
unsigned int GetFlags() const;
51 ARCH_API
bool Match(const
std::
string& query) const;
55 unsigned int _flags = 0;
57 std::shared_ptr<const _Impl> _impl;
60PXR_NAMESPACE_CLOSE_SCOPE