Esempio n. 1
0
static void
test_tuple_cat ()
{
    rw_info (0, __FILE__, __LINE__, "tuple_cat");

#define FirstHalf       bool, char, int, double
#define SecondHalf      void*, UserDefined

    typedef std::tuple<FirstHalf>   FirstTuple;
    FirstTuple t1 (true, 'a', 256, 3.14159);

    typedef std::tuple<SecondHalf>  SecondTuple;
    SecondTuple t2 (&t1, UserDefined ());

    typedef std::tuple<FirstHalf, SecondHalf>   WholeTuple;
    //WholeTuple t3 (tuple_cat (t1, t2));
}
Esempio n. 2
0
// scans the Input into a symbol list
bool opScanner::Scan(FileReadStream& ifs, ScanMode mode, opNode* root) {
    Tokens.Clear();

    ScanError = false;
    CurrentLine = 1;
    ScanComplete = false;
    scanMode = mode;
    Root = root;

    inputtype Input;
    ifs.ReadToContainer(Input);

    FixNewlines(Input);

    int it = 0;

    ScanTokens(Input);

    if (opError::HasErrors()) return false;

    // post scanning stuff
    Preprocessor();
    FixStrings();
    Keyword();

    if (scanMode != SM_DialectMode) {
        BasicType();
        UserDefined();
    }

    ContinueLines();
    Decimals();
    WideStrings();
    FixNumbers();

    if (scanMode == SM_NormalMode) CPlusPlus();

    ScanComplete = true;

    return true;
}