isOneSymbolPerFieldAccessString

check symbol count for access to field

pure
bool
isOneSymbolPerFieldAccessString
(
string str
,
string sep = ""
)

Examples

Using all functions

static assert(  isValueAccessString( "hello" ) );
static assert(  isValueAccessString( "x" ) );
static assert(  isValueAccessString( "_ok" ) );
static assert(  isValueAccessString( "__ok" ) );
static assert(  isValueAccessString( "__o1k" ) );
static assert(  isValueAccessString( "_2o1k3" ) );
static assert( !isValueAccessString( "0__ok" ) );
static assert( !isValueAccessString( "__o-k" ) );
static assert(  isArrayAccessString( "xyz" ) );
static assert(  isArrayAccessString( "x|dx|y|dy", "|" ) );
static assert(  isCompatibleArrayAccessString( 4, "x|dx|y|dy", "|" ) );
static assert(  isCompatibleArrayAccessString( 3, "xyz" ) );
static assert( !isCompatibleArrayAccessString( 4, "xxxy" ) );
static assert( !isCompatibleArrayAccessString( 3, "xxx" ) );
static assert(  isCompatibleArrayAccessStrings( 3, "xyz" ) );
static assert(  isCompatibleArrayAccessStrings( 3, "x y z", " " ) );
static assert(  isCompatibleArrayAccessStrings( 2, "xy|uv" ) );
static assert(  isCompatibleArrayAccessStrings( 3, "abc|efg" ) );
static assert( !isCompatibleArrayAccessStrings( 3, "abc|afg" ) );
static assert( !isCompatibleArrayAccessStrings( 3, "xxy|uv" ) );
static assert(  isCompatibleArrayAccessStrings( 3, "x,y,z;u,v,t", ",", ";" ) );
static assert( getIndex( "x y z", "x", " " ) == 0 );
static assert( getIndex( "x y z", "y", " " ) == 1 );
static assert( getIndex( "x y z", "z", " " ) == 2 );
static assert( getIndex( "x|dx|y|dy", "dx", "|", ";" ) == 1 );
static assert( getIndex( "x|dx|y|dy", "1dx", "|", ";" ) == -1 );

static assert( oneOfAccessAll("xyz","xy") );
static assert( oneOfAccessAll("xyz","yx") );
static assert( oneOfAccessAll("xyz","xxxxyxyyyz") );
static assert( oneOfAccessAll("x,y,z","xxxxyxyyyz",",") );
static assert( isOneSymbolPerFieldAccessString("xyz") );
static assert( isOneSymbolPerFieldAccessString("x,y,z",",") );
static assert( isOneSymbolPerFieldForAnyAccessString( "xy|uv", "", "|" ) );
static assert( isOneSymbolPerFieldForAnyAccessString( "near far|n f", " ", "|" ) );

static assert( !isArrayAccessString("x.y.z","",false) );
static assert( !isArrayAccessString("x.y.z","",true) );
static assert( !isArrayAccessString("x.y.z"," ",false) );
static assert(  isArrayAccessString("x.y.z"," ",true) );
static assert(  isArrayAccessString("pos.x pos.y pos.z vel.x vel.y vel.z"," ",true) );

static assert(  isArrayAccessString( "pos vel", " ", true ) );
static assert(  isArrayAccessString( "abcd", " ", true ) );
static assert(  isArrayAccessString( "a1 a2", " ", true ) );
static assert(  isArrayAccessString( "ok.no", " ", true ) );
auto fstr = "pos.x pos.y vel.x vel.y";
assert(  isArrayAccessString( fstr, " ", true ) );
assert( !isArrayAccessString( fstr[0 .. $-1], " ", true ) );
assert( !isArrayAccessString( "ok.1", " ", true ) );
assert( !isArrayAccessString( "1abcd", " ", true ) );
assert( !isArrayAccessString( "not 2ok", " ", true ) );

Meta