HDK
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
UT_StringHolder.h File Reference
#include "UT_API.h"
#include "UT_Assert.h"
#include "UT_Format.h"
#include "UT_String.h"
#include "UT_Swap.h"
#include "UT_StringUtils.h"
#include <SYS/SYS_AtomicInt.h>
#include <SYS/SYS_Compiler.h>
#include <SYS/SYS_Inline.h>
#include <SYS/SYS_Math.h>
#include <SYS/SYS_Pragma.h>
#include <SYS/SYS_StaticAssert.h>
#include <SYS/SYS_String.h>
#include <SYS/SYS_Types.h>
#include <iosfwd>
#include <string>
#include <utility>
#include <stdint.h>
#include <string.h>
+ Include dependency graph for UT_StringHolder.h:
+ This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

class  UT_Array< T >
 
class  UT_StringLit
 
class  UT_StringRef
 
class  UT_StringRef::Holder
 
struct  UT_StringRef::NumberedCompare
 
class  UT_StringHolder
 
struct  std::hash< UT_StringRef >
 
struct  std::hash< UT_StringHolder >
 
struct  UT::DefaultClearer< T >
 
struct  UT::DefaultClearer< UT_StringHolder >
 

Namespaces

 UT
 
 UT::Literal
 
 std
 

Functions

UT_StringHolder UT::Literal::operator""_sh (const char *s, std::size_t const length)
 
SYS_FORCE_INLINE size_t hash_value (const UT_StringRef &str)
 
SYS_FORCE_INLINE const
UT_StringHolder
UTmakeUnsafeRef (const UT_StringRef &ref)
 Convert a UT_StringRef into a UT_StringHolder that is a shallow reference. More...
 
SYS_FORCE_INLINE const
UT_StringHolder
UTmakeUnsafeRefHash (const UT_StringRef &ref)
 
SYS_FORCE_INLINE size_t tbb_hasher (const UT_StringRef &s)
 
SYS_FORCE_INLINE size_t tbb_hasher (const UT_StringHolder &s)
 
SYS_FORCE_INLINE UT_StringHolder operator""_UTsh (const char *s, std::size_t const length)
 

Function Documentation

SYS_FORCE_INLINE size_t hash_value ( const UT_StringRef str)

Definition at line 943 of file UT_StringHolder.h.

SYS_FORCE_INLINE UT_StringHolder operator""_UTsh ( const char *  s,
std::size_t const  length 
)

A user-defined literal in the global namespace. Uglier, but allows the use of UT_StringHolder UDLs in headers.

Definition at line 1354 of file UT_StringHolder.h.

SYS_FORCE_INLINE size_t tbb_hasher ( const UT_StringRef s)

Definition at line 1337 of file UT_StringHolder.h.

SYS_FORCE_INLINE size_t tbb_hasher ( const UT_StringHolder s)

Definition at line 1338 of file UT_StringHolder.h.

SYS_FORCE_INLINE const UT_StringHolder& UTmakeUnsafeRef ( const UT_StringRef ref)

Convert a UT_StringRef into a UT_StringHolder that is a shallow reference.

Examples:
SOP/SOP_BouncyAgent.C.

Definition at line 1307 of file UT_StringHolder.h.

SYS_FORCE_INLINE const UT_StringHolder& UTmakeUnsafeRefHash ( const UT_StringRef ref)

Convert a UT_StringRef into a UT_StringHolder that is a shallow reference, and also precompute the hash. Use this for string literals that will be used repeatedly in hash tables.

Definition at line 1316 of file UT_StringHolder.h.