| 3951 | }; |
| 3952 | |
| 3953 | class StringRef |
| 3954 | { |
| 3955 | BNStringRef* m_ref; |
| 3956 | |
| 3957 | public: |
| 3958 | StringRef(); |
| 3959 | explicit StringRef(BNStringRef* ref); |
| 3960 | StringRef(const StringRef& other); |
| 3961 | StringRef(StringRef&& other); |
| 3962 | ~StringRef(); |
| 3963 | StringRef& operator=(const StringRef& other); |
| 3964 | StringRef& operator=(StringRef&& other); |
| 3965 | |
| 3966 | operator std::string_view() const { return std::string_view(c_str(), size()); } |
| 3967 | operator std::string const() { return c_str(); } |
| 3968 | |
| 3969 | const char* c_str() const; |
| 3970 | size_t size() const; |
| 3971 | BNStringRef* GetObject() { return m_ref; } |
| 3972 | |
| 3973 | bool operator==(const StringRef& other) const { return this->operator std::string_view() == other.operator std::string_view(); } |
| 3974 | bool operator!=(const StringRef& other) const { return this->operator std::string_view() != other.operator std::string_view(); } |
| 3975 | bool operator<(const StringRef& other) const { return this->operator std::string_view() < other.operator std::string_view(); } |
| 3976 | bool operator==(const std::string& other) const { return this->operator std::string_view() == other; } |
| 3977 | bool operator!=(const std::string& other) const { return this->operator std::string_view() != other; } |
| 3978 | bool operator==(const std::string_view& other) const { return this->operator std::string_view() == other; } |
| 3979 | bool operator!=(const std::string_view& other) const { return this->operator std::string_view() != other; } |
| 3980 | }; |
| 3981 | |
| 3982 | /*! |
| 3983 | \ingroup types |
no test coverage detected