simdjson  3.7.0
Ridiculously Fast JSON
simdjson::padded_string Struct Referencefinal

String with extra allocation for ease of use with parser::parse() More...

Public Member Functions

 padded_string () noexcept
 Create a new, empty padded string.
 
 padded_string (size_t length) noexcept
 Create a new padded string buffer. More...
 
 padded_string (const char *data, size_t length) noexcept
 Create a new padded string by copying the given input. More...
 
 padded_string (const std::string &str_) noexcept
 Create a new padded string by copying the given input. More...
 
 padded_string (std::string_view sv_) noexcept
 Create a new padded string by copying the given input. More...
 
 padded_string (padded_string &&o) noexcept
 Move one padded string into another. More...
 
padded_stringoperator= (padded_string &&o) noexcept
 Move one padded string into another. More...
 
void swap (padded_string &o) noexcept
 
size_t size () const noexcept
 The length of the string. More...
 
size_t length () const noexcept
 The length of the string. More...
 
const char * data () const noexcept
 The string data.
 
const uint8_t * u8data () const noexcept
 
char * data () noexcept
 The string data.
 
 operator std::string_view () const
 Create a std::string_view with the same content.
 
 operator padded_string_view () const noexcept
 Create a padded_string_view with the same content.
 

Static Public Member Functions

static simdjson_result< padded_stringload (std::string_view path) noexcept
 Load this padded string from a file. More...
 

Detailed Description

String with extra allocation for ease of use with parser::parse()

This is a move-only class, it cannot be copied.

Definition at line 23 of file padded_string.h.

Constructor & Destructor Documentation

◆ padded_string() [1/5]

simdjson::padded_string::padded_string ( size_t  length)
inlineexplicitnoexcept

Create a new padded string buffer.

Parameters
lengththe size of the string.

Definition at line 48 of file padded_string-inl.h.

◆ padded_string() [2/5]

simdjson::padded_string::padded_string ( const char *  data,
size_t  length 
)
inlineexplicitnoexcept

Create a new padded string by copying the given input.

Parameters
datathe buffer to copy
lengththe number of bytes to copy

Definition at line 51 of file padded_string-inl.h.

◆ padded_string() [3/5]

simdjson::padded_string::padded_string ( const std::string &  str_)
inlinenoexcept

Create a new padded string by copying the given input.

Parameters
str_the string to copy

Definition at line 66 of file padded_string-inl.h.

◆ padded_string() [4/5]

simdjson::padded_string::padded_string ( std::string_view  sv_)
inlinenoexcept

Create a new padded string by copying the given input.

Parameters
sv_the string to copy

Definition at line 73 of file padded_string-inl.h.

◆ padded_string() [5/5]

simdjson::padded_string::padded_string ( padded_string &&  o)
inlinenoexcept

Move one padded string into another.

The original padded string will be reduced to zero capacity.

Parameters
othe string to move.

Definition at line 84 of file padded_string-inl.h.

Member Function Documentation

◆ length()

size_t simdjson::padded_string::length ( ) const
inlinenoexcept

The length of the string.

Does not include padding.

Definition at line 113 of file padded_string-inl.h.

◆ load()

simdjson_result< padded_string > simdjson::padded_string::load ( std::string_view  path)
inlinestaticnoexcept

Load this padded string from a file.

Returns
IO_ERROR on error. Be mindful that on some 32-bit systems, the file size might be limited to 2 GB.
Parameters
paththe path to the file.

Definition at line 125 of file padded_string-inl.h.

◆ operator=()

padded_string & simdjson::padded_string::operator= ( padded_string &&  o)
inlinenoexcept

Move one padded string into another.

The original padded string will be reduced to zero capacity.

Parameters
othe string to move.

Definition at line 89 of file padded_string-inl.h.

◆ size()

size_t simdjson::padded_string::size ( ) const
inlinenoexcept

The length of the string.

Does not include padding.

Definition at line 111 of file padded_string-inl.h.


The documentation for this struct was generated from the following files: