예제 #1
0
int main () {
  ConditionParser cp ("input.conf");
  cp.parse();

  unsigned int a[] = {2, 3, 4};
  vector<unsigned int> dim_sizes (a, a+3);

  int tmp = 0;
  MDArray<int> mda (3, dim_sizes);

  calc<int> c(10);

  cout << c.add (3.0, 4.0) << endl;


  return 0;
}
예제 #2
0
    bool ConditionTreeParser::parseTree(const Value& conditions, ConditionsNode& node)
    {
        Value conditionArray;
        std::string relation;
        conditionArray = conditions[Keys::condition_array];
        relation = asString(conditions[Keys::relation]);

        node.setRelation(relation);
        const Value::ArrayType* cond_array = conditionArray.getPtr<Value::ArrayType>();
        if (!cond_array)
        {
            error() = "Conditions must be an array";
            return false;
        }
        
        for (unsigned int i = 0; i < cond_array->size(); ++i)
        {
            std::string property_ = asString(((*cond_array)[i])[Keys::property]); // check if is leaf-node
            if (property_.empty())
            {
                ConditionsNode conditionNode;
                if ( !parseTree((*cond_array)[i], conditionNode))
                    return false;
                node.conditionsNodeList_.push_back(conditionNode);
            }
            else
            {
                ConditionParser conditionParser;
                conditionParser.parse((*cond_array)[i]);
                QueryFiltering::FilteringType filterLeafNode;


                if (!do_paser(conditionParser, indexSchema_, filterLeafNode))
                {
                    error() = "Property's data type is unknown: " +
                                        conditionParser.property();
                    return false;
                }
                
                node.conditionLeafList_.push_back(filterLeafNode);
            }
        }

        return true;
    }