SOL9 2.0 Class: ArgListT

 SOL9 C++ Class Library  SOL9 Samples  SOL9 Tutorial  SOL9 FAQ  SOL9 ClassTree 

Source code

/*
 * ArgListT.h 
 * Copyright (c) 2009 Antillia.com TOSHIYUKI ARAI. ALL RIGHTS RESERVED. 
 */



// SOL9
// 2009/09/24

#pragma once

#include <sol/Object.h>
#include <sol/Arg.h>

namespace SOL {

template <class T> class ArgListT :public Object {

private:
    const ArgT<T>* arg;

private:
    const size_t  count;

public:
    /**
     * Constructor
     */
    ArgListT(const ArgT<T>* argList, size_t size)
        :arg(argList),        //Shallow pointer copy for Arg array. 
        count(size)
    {
        if (arg == NULL || size <=0) {
            throw ERROR_BAD_ARGUMENTS;
        }
    }
    

public:
    const T* getName(int value)
    {
        const T* name = NULL;
        if (arg) {
            for (size_t i = 0; i<count; i++) {
                if(arg[i].value == value) {
                    name = arg[i].name;
                    break;
                } 
            }
        }
        return name;
    }
};

}



Last modified: 19 Dec 2009

Copyright (c) 2009 Antillia.com ALL RIGHTS RESERVED.