LibraryLink Utilities  3.0.1
Modern C++ wrapper over LibraryLink and WSTP
Strings.h File Reference

Definitions of multiple structures and type aliases related to string handling in WSTP. More...

Detailed Description

Definitions of multiple structures and type aliases related to string handling in WSTP.

Date
Mar 22, 2018
Author
Rafal Chojna rafal.nosp@m.c@wo.nosp@m.lfram.nosp@m..com
#include <algorithm>
#include <functional>
#include <memory>
#include "wstp.h"
#include "LLU/ErrorLog/Errors.h"
#include "LLU/Utilities.hpp"
#include "LLU/WSTP/EncodingTraits.hpp"
#include "LLU/WSTP/Utilities.h"
+ Include dependency graph for Strings.h:
+ This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Namespaces

 LLU
 Main namespace of LibraryLink Utilities.
 
 LLU::WS
 Contains definitions related to WSTP functionality in LLU.
 
 LLU::WS::EncodingConfig
 Contains configuration parameters that paclet developers may modify.
 

Type aliases

template<Encoding E>
using LLU::WS::StringData = std::unique_ptr< const CharType< E >[], ReleaseString< E > >
 StringData with Encoding E is a unique_ptr to an array of E-encoded characters It allows you to take ownership of raw string data from WSTP without making extra copies. More...
 
template<typename T >
using LLU::WS::GetStringFuncT = std::function< int(WSLINK, const T **, int *, int *)>
 GetStringFuncT is a type of WSTP function that reads string from a link, e.g. WSGetByteString. More...
 
template<typename T >
using LLU::WS::PutStringFuncT = std::function< int(WSLINK, const T *, int)>
 PutStringFuncT is a type of WSTP function that sends string data to a link, e.g. WSPutByteString. More...
 
template<typename T >
using LLU::WS::ReleaseStringFuncT = std::function< void(WSLINK, const T *, int)>
 ReleaseStringFuncT is a type of WSTP function to release string data allocated by WSTP, e.g. WSReleaseByteString. More...
 

Variables

long LLU::WS::EncodingConfig::substituteCodeForByteEncoding = defaultSubstituteCode
 Global configuration parameter defining a substitute character required in WSGetByteString. More...
 
bool LLU::WS::EncodingConfig::useFastUTF8 = true
 Global configuration parameter specifying whether to use a faster version of sending UTF8 strings. More...