CXXR (C++ R)
Namespaces | Functions | Variables
String.cpp File Reference

($Id: String.cpp 1390 2013-06-11 14:41:41Z arr $)

#include "CXXR/String.h"
#include <algorithm>
#include <boost/lambda/lambda.hpp>
#include "CXXR/errors.h"
#include "CXXR/PairList.h"
Include dependency graph for String.cpp:

Namespaces

namespace  CXXR
 Namespace for the CXXR project.

Functions

SEXP Rf_mkCharLenCE (const char *text, int length, cetype_t encoding)
 Create a CXXR::String object for specified text and encoding.

Variables

int(* CXXR::ForceNonInline::ENC_KNOWNp )(const SEXP x) = ENC_KNOWN
int(* CXXR::ForceNonInline::IS_ASCIIp )(const SEXP x) = IS_ASCII
int(* CXXR::ForceNonInline::IS_BYTESp )(const SEXP x) = IS_BYTES
Rboolean(* CXXR::ForceNonInline::IS_LATIN1p )(const SEXP x) = IS_LATIN1
Rboolean(* CXXR::ForceNonInline::IS_UTF8p )(const SEXP x) = IS_UTF8
const char *(* CXXR::ForceNonInline::R_CHARp )(SEXP x) = R_CHAR
SEXP(* CXXR::ForceNonInline::mkCharp )(const char *) = Rf_mkChar
SEXP(* CXXR::ForceNonInline::mkCharCEp )(const char *, cetype_t) = Rf_mkCharCE
SEXP(* CXXR::ForceNonInline::mkCharLenp )(const char *, int) = Rf_mkCharLen
SEXP R_NaString = String::NA()
SEXP R_BlankString = 0

Detailed Description

Implementation of class CXXR::String and related functions.


Function Documentation

SEXP Rf_mkCharLenCE ( const char *  text,
int  length,
cetype_t  encoding 
)

Create a CXXR::String object for specified text and encoding.

If no CXXR::String with the specified text and encoding currently exists, one will be created. Otherwise a pointer to the existing CXXR::String will be returned.

Parameters:
textThe text of the string to be created, possibly including embedded null characters. The encoding is assumed to be CE_NATIVE.
lengthThe length of the string pointed to by text. Must be nonnegative. The created string will comprise the text plus an appended null byte.
encodingThe encoding of the required String. Only CE_NATIVE, CE_UTF8 or CE_LATIN1 are permitted in this context (checked).
Returns:
Pointer to the created string.