My Project
Public Member Functions | Private Attributes
vspace::VString Class Reference

#include <vspace.h>

Public Member Functions

 VString (const char *s)
 
 VString (const char *s, size_t len)
 
 VString (size_t len)
 
 ~VString ()
 
size_t len () const
 
VRef< VStringclone () const
 
const char * str () const
 

Private Attributes

VRef< char > _buffer
 
size_t _len
 

Detailed Description

Definition at line 2064 of file vspace.h.

Constructor & Destructor Documentation

◆ VString() [1/3]

vspace::VString::VString ( const char *  s)
inline

Definition at line 2070 of file vspace.h.

2070 {
2071 _len = std::strlen(s);
2072 _buffer = vnew_uninitialized_array<char>(_len + 1);
2073 std::strcpy(_buffer.as_ptr(), s);
2074 }
VRef< char > _buffer
Definition: vspace.h:2066
size_t _len
Definition: vspace.h:2067
const CanonicalForm int s
Definition: facAbsFact.cc:51
T * as_ptr() const
Definition: vspace.h:1779

◆ VString() [2/3]

vspace::VString::VString ( const char *  s,
size_t  len 
)
inline

Definition at line 2075 of file vspace.h.

2075 {
2076 _len = len;
2077 _buffer = vnew_uninitialized_array<char>(len + 1);
2078 char *buffer = _buffer.as_ptr();
2079 std::memcpy(buffer, s, len);
2080 buffer[len] = '\0';
2081 }
size_t len() const
Definition: vspace.h:2090

◆ VString() [3/3]

vspace::VString::VString ( size_t  len)
inline

Definition at line 2082 of file vspace.h.

2082 {
2083 _len = len;
2084 _buffer = vnew_uninitialized_array<char>(len + 1);
2085 _buffer[len] = '\0';
2086 }

◆ ~VString()

vspace::VString::~VString ( )
inline

Definition at line 2087 of file vspace.h.

2087 {
2088 _buffer.free();
2089 }
void free()
Definition: vspace.h:1805

Member Function Documentation

◆ clone()

VRef< VString > vspace::VString::clone ( ) const
inline

Definition at line 2093 of file vspace.h.

2093 {
2094 return vnew<VString>(_buffer.as_ptr(), _len);
2095 }

◆ len()

size_t vspace::VString::len ( ) const
inline

Definition at line 2090 of file vspace.h.

2090 {
2091 return _len;
2092 }

◆ str()

const char * vspace::VString::str ( ) const
inline

Definition at line 2096 of file vspace.h.

2096 {
2097 return _buffer.as_ptr();
2098 }

Field Documentation

◆ _buffer

VRef<char> vspace::VString::_buffer
private

Definition at line 2066 of file vspace.h.

◆ _len

size_t vspace::VString::_len
private

Definition at line 2067 of file vspace.h.


The documentation for this class was generated from the following file: