You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

632 lines
43 KiB

// Copyright 2020 Siemens Digital Industries Software
// ==================================================
// Copyright 2018.
// Siemens Product Lifecycle Management Software Inc.
// All Rights Reserved.
// ==================================================
// Copyright 2020 Siemens Digital Industries Software
/**
@file
This header file contains the class AttributeAccessor.
This class contains methods to perform the operations getValue, setValue, insert, append etc.
on POM attributes.
This class will be used by Impl, GenImpl and ImanProperty files etc..
*/
#ifndef ATTRIBUTEACCESSOR_HXX
#define ATTRIBUTEACCESSOR_HXX
#include <string>
#include <vector>
#include <base_utils/TcBaseTypes.hxx>
#include <cxpom/libcxpom_exports.h>
class CXPOM_API AttributeAccessor
{
public:
// Use same method name to support template function usage
static int getValue(tag_t inst_tag, tag_t att_tag, bool& value, bool& isNull) { return getLogicalValue(inst_tag, att_tag, value, isNull); }
static int getValue(tag_t inst_tag, tag_t att_tag, char& value, bool& isNull) { return getCharValue(inst_tag, att_tag, value, isNull); }
static int getValue(tag_t inst_tag, tag_t att_tag, date_t& value, bool& isNull) { return getDateValue(inst_tag, att_tag, value, isNull); }
static int getValue(tag_t inst_tag, tag_t att_tag, double& value, bool& isNull) { return getDoubleValue(inst_tag, att_tag, value, isNull); }
static int getValue(tag_t inst_tag, tag_t att_tag, int& value, bool& isNull) { return getIntegerValue(inst_tag, att_tag, value, isNull); }
static int getValue(tag_t inst_tag, tag_t att_tag, tag_t& value, bool& isNull) { return getTagValue(inst_tag, att_tag, value, isNull); }
static int getValue(tag_t inst_tag, tag_t att_tag, const char*& value, bool& isNull);
static int getValue(tag_t inst_tag, tag_t att_tag, Teamcenter::StdSmString& value, bool& isNull);
static int getArrayValue(tag_t inst_tag, tag_t att_tag, Teamcenter::BoolVector& values, Teamcenter::BoolVector& isNulls);
static int getArrayValue(tag_t inst_tag, tag_t att_tag, Teamcenter::CharVector& values, Teamcenter::BoolVector& isNulls);
static int getArrayValue(tag_t inst_tag, tag_t att_tag, Teamcenter::DateVector& values, Teamcenter::BoolVector& isNulls);
static int getArrayValue(tag_t inst_tag, tag_t att_tag, Teamcenter::DoubleVector& values, Teamcenter::BoolVector& isNulls);
static int getArrayValue(tag_t inst_tag, tag_t att_tag, Teamcenter::IntVector& values, Teamcenter::BoolVector& isNulls);
static int getArrayValue(tag_t inst_tag, tag_t att_tag, Teamcenter::StringVector& values, Teamcenter::BoolVector& isNulls);
static int getArrayValue(tag_t inst_tag, tag_t att_tag, Teamcenter::TagVector& values, Teamcenter::BoolVector& isNulls);
/***************************************************************************************************/
// getCharValue - method to get the value of a POMChar attribute
/***************************************************************************************************/
static int getCharValue ( tag_t inst_tag, tag_t att_tag , char &value, bool &isNull );
/***************************************************************************************************/
// getCharValue - method to get the value of a POMChar attribute
/***************************************************************************************************/
static int getCharValue ( tag_t inst_tag, tag_t att_tag , char &value );
/***************************************************************************************************/
// setCharValue - method to set the value of a POMChar attribute
/***************************************************************************************************/
static int setCharValue( tag_t inst_tag, tag_t att_tag , char value, bool isNull = false );
/***************************************************************************************************/
// getDateValue - method to get the value of a POMDate attribute
/***************************************************************************************************/
static int getDateValue( tag_t inst_tag, tag_t att_tag , date_t &value, bool &isNull );
/***************************************************************************************************/
// getDateValue - method to get the value of a POMDate attribute
/***************************************************************************************************/
static int getDateValue( tag_t inst_tag, tag_t att_tag , date_t &value );
/***************************************************************************************************/
// setDateValue - method to set the value of a POMDate attribute
/***************************************************************************************************/
static int setDateValue( tag_t inst_tag, tag_t att_tag , date_t value, bool isNull = false );
/***************************************************************************************************/
// getDoubleValue - method to get the value of a POMDouble attribute
/***************************************************************************************************/
static int getDoubleValue( tag_t inst_tag, tag_t att_tag , double &value, bool &isNull );
/***************************************************************************************************/
// getDoubleValue - method to get the value of a POMDouble attribute
/***************************************************************************************************/
static int getDoubleValue( tag_t inst_tag, tag_t att_tag , double &value );
/***************************************************************************************************/
// setDoubleValue - method to set the value of a POMDouble attribute
/***************************************************************************************************/
static int setDoubleValue( tag_t inst_tag, tag_t att_tag , double value, bool isNull = false );
/***************************************************************************************************/
// getIntegerValue - method to get the value of a POMInteger attribute
/***************************************************************************************************/
static int getIntegerValue( tag_t inst_tag, tag_t att_tag , int &value, bool &isNull );
/***************************************************************************************************/
// getIntegerValue - method to get the value of a POMInteger attribute
/***************************************************************************************************/
static int getIntegerValue( tag_t inst_tag, tag_t att_tag , int &value );
/***************************************************************************************************/
// setIntegerValue - method to set the value of a POMInteger attribute
/***************************************************************************************************/
static int setIntegerValue( tag_t inst_tag, tag_t att_tag , int value, bool isNull = false );
/***************************************************************************************************/
// getLogicalValue - method to get the value of a POMlogical attribute
/***************************************************************************************************/
static int getLogicalValue( tag_t inst_tag, tag_t att_tag , bool &value, bool &isNull );
/***************************************************************************************************/
// getLogicalValue - method to get the value of a POMlogical attribute
/***************************************************************************************************/
static int getLogicalValue( tag_t inst_tag, tag_t att_tag , bool &value );
/***************************************************************************************************/
// setLogicalValue - method to set the value of a POMLogical attribute
/***************************************************************************************************/
static int setLogicalValue( tag_t inst_tag, tag_t att_tag , bool value, bool isNull = false );
/***************************************************************************************************/
// getStringValue - method to get the value of a POMString attribute
/***************************************************************************************************/
static int getStringValue( tag_t inst_tag, tag_t att_tag , std::string& value, bool &isNull );
/***************************************************************************************************/
// getStringValue - method to get the value of a POMString attribute
/***************************************************************************************************/
static int getStringValue( tag_t inst_tag, tag_t att_tag , std::string& value );
/***************************************************************************************************/
// setStringValue - method to set the value of a POMString attribute
/***************************************************************************************************/
static int setStringValue( tag_t inst_tag, tag_t att_tag ,const std::string& value, bool isNull = false );
/***************************************************************************************************/
// getTagValue - method to get the value of a POMTag attribute
/***************************************************************************************************/
static int getTagValue( tag_t inst_tag, tag_t att_tag , tag_t &value, bool &isNull );
/***************************************************************************************************/
// getTagValue - method to get the value of a POMTag attribute
/***************************************************************************************************/
static int getTagValue( tag_t inst_tag, tag_t att_tag , tag_t &value );
/***************************************************************************************************/
// setTagValue - method to set the value of a POMTag attribute
/***************************************************************************************************/
static int setTagValue( tag_t inst_tag, tag_t att_tag , tag_t value, bool isNull = false );
/***************************************************************************************************/
// getCharValueAt - method to get the value of a POMChar attribute
/***************************************************************************************************/
static int getCharValueAt( tag_t inst_tag, tag_t att_tag, int pos, char &value, bool* isNull = 0 );
/***************************************************************************************************/
// setCharValueAt - method to set the value of a POMChar attribute
/***************************************************************************************************/
static int setCharValueAt( tag_t inst_tag, tag_t att_tag , int pos, char value, bool isNull = false );
/***************************************************************************************************/
// getDateValueAt - method to get the value of a POMDate attribute
/***************************************************************************************************/
static int getDateValueAt( tag_t inst_tag, tag_t att_tag, int pos, date_t &value, bool* isNull = 0 );
/***************************************************************************************************/
// setDateValueAt - method to set the value of a POMDate attribute
/***************************************************************************************************/
static int setDateValueAt( tag_t inst_tag, tag_t att_tag , int pos, date_t value, bool isNull = false );
/***************************************************************************************************/
// getDoubleValueAt - method to get the value of a POMDouble attribute
/***************************************************************************************************/
static int getDoubleValueAt( tag_t inst_tag, tag_t att_tag , int pos, double &value, bool* isNull = 0 );
/***************************************************************************************************/
// setDoubleValueAt - method to set the value of a POMdouble attribute
/***************************************************************************************************/
static int setDoubleValueAt( tag_t inst_tag, tag_t att_tag , int pos, double value, bool isNull = false );
/***************************************************************************************************/
// getIntegerValueAt - method to get the value of a POMInteger attribute
/***************************************************************************************************/
static int getIntegerValueAt( tag_t inst_tag, tag_t att_tag , int pos, int &value, bool* isNull = 0 );
/***************************************************************************************************/
// setIntegerValueAt - method to set the value of a POMInteger attribute
/***************************************************************************************************/
static int setIntegerValueAt( tag_t inst_tag, tag_t att_tag , int pos, int value, bool isNull = false );
/***************************************************************************************************/
// getLogicalValueAt - method to get the value of a POMLogical attribute
/***************************************************************************************************/
static int getLogicalValueAt( tag_t inst_tag, tag_t att_tag , int pos, bool &value, bool* isNull = 0 );
/***************************************************************************************************/
// setLogicalValueAt - method to set the value of a POMLogical attribute
/***************************************************************************************************/
static int setLogicalValueAt( tag_t inst_tag, tag_t att_tag , int pos, bool value, bool isNull = false );
/***************************************************************************************************/
// getStringValueAt - method to get the value of a POMString attribute
/***************************************************************************************************/
static int getStringValueAt( tag_t inst_tag, tag_t att_tag , int pos, std::string& value, bool* isNull = 0 );
/***************************************************************************************************/
// setStringValueAt - method to set the value of a POMString attribute
/***************************************************************************************************/
static int setStringValueAt( tag_t inst_tag, tag_t att_tag , int pos, std::string& value, bool isNull = false );
/***************************************************************************************************/
// getTagValueAt - method to get the value of a POMTag attribute
/***************************************************************************************************/
static int getTagValueAt( tag_t inst_tag, tag_t att_tag , int pos, tag_t &value, bool* isNull = 0 );
/***************************************************************************************************/
// setTagValueAt - method to set the value of a POMTag attribute
/***************************************************************************************************/
static int setTagValueAt( tag_t inst_tag, tag_t att_tag , int pos, tag_t value, bool isNull = false );
/***************************************************************************************************/
// getCharValues - method to get the value of a POMCharArray attribute
/***************************************************************************************************/
static int getCharValues( tag_t inst_tag, tag_t att_tag, std::vector<char> &values, std::vector<int> &isNull );
/***************************************************************************************************/
// getCharValues - method to get the value of a POMCharArray attribute
/***************************************************************************************************/
static int getCharValues( tag_t inst_tag, tag_t att_tag, std::vector<char> &values );
/***************************************************************************************************/
// getDateValues - method to get the value of a POMDateArray attribute
/***************************************************************************************************/
static int getDateValues( tag_t inst_tag, tag_t att_tag, std::vector< date_t > &values, std::vector<int> &isNull );
/***************************************************************************************************/
// getDateValues - method to get the value of a POMDateArray attribute
/***************************************************************************************************/
static int getDateValues( tag_t inst_tag, tag_t att_tag, std::vector< date_t > &values );
/***************************************************************************************************/
// getDoubleValues - method to get the value of a POMDoubleArray attribute
/***************************************************************************************************/
static int getDoubleValues( tag_t inst_tag, tag_t att_tag , std::vector< double > &values, std::vector<int> &isNull );
/***************************************************************************************************/
// getDoubleValues - method to get the value of a POMDoubleArray attribute
/***************************************************************************************************/
static int getDoubleValues( tag_t inst_tag, tag_t att_tag , std::vector< double > &values );
/***************************************************************************************************/
// getIntegerValues - method to get the value of a POMIntegerArray attribute
/***************************************************************************************************/
static int getIntegerValues( tag_t inst_tag, tag_t att_tag , std::vector<int> &values, std::vector<int> &isNull );
/***************************************************************************************************/
// getIntegerValues - method to get the value of a POMIntegerArray attribute
/***************************************************************************************************/
static int getIntegerValues( tag_t inst_tag, tag_t att_tag , std::vector<int> &values );
/***************************************************************************************************/
// getLogicalValues - method to get the value of a POMLogicalArray attribute
/***************************************************************************************************/
static int getLogicalValues( tag_t inst_tag, tag_t att_tag, std::vector<int> &values, std::vector<int> &isNull );
/***************************************************************************************************/
// getLogicalValues - method to get the value of a POMLogicalArray attribute
/***************************************************************************************************/
static int getLogicalValues( tag_t inst_tag, tag_t att_tag, std::vector<int> &values );
/***************************************************************************************************/
// getStringValues - method to get the value of a POMStringArray attribute
/***************************************************************************************************/
static int getStringValues( tag_t inst_tag, tag_t att_tag, std::vector<std::string> &values, std::vector<int> &isNull );
/***************************************************************************************************/
// getStringValues - method to get the value of a POMStringArray attribute
/***************************************************************************************************/
static int getStringValues( tag_t inst_tag, tag_t att_tag, std::vector<std::string> &values );
/***************************************************************************************************/
// getTagValues - method to get the value of a POMTagArray attribute
/***************************************************************************************************/
static int getTagValues( tag_t inst_tag, tag_t att_tag , std::vector<tag_t> &values, std::vector<int> &isNull );
/***************************************************************************************************/
// getTagValues - method to get the value of a POMTagArray attribute
/***************************************************************************************************/
static int getTagValues( tag_t inst_tag, tag_t att_tag , std::vector<tag_t> &values );
/***************************************************************************************************/
// setTagValues - method to set the value of a POMTag attribute
/***************************************************************************************************/
static int appendTagValues( tag_t inst_tag, tag_t att_tag , const std::vector<tag_t> &values, const std::vector<int> *isNull = 0 );
/***************************************************************************************************/
// isCharNull - method to check if the POMChar attribute is null
/***************************************************************************************************/
static bool isCharNull ( tag_t inst_tag, tag_t att_tag );
/***************************************************************************************************/
// isDateNull - method to check if the POMDate attribute is null
/***************************************************************************************************/
static bool isDateNull ( tag_t inst_tag, tag_t att_tag );
/***************************************************************************************************/
// isDoubleNull - method to check if the POMDouble attribute is null
/***************************************************************************************************/
static bool isDoubleNull ( tag_t inst_tag, tag_t att_tag );
/***************************************************************************************************/
// isIntegerNull - method to check if the POMInteger attribute is null
/***************************************************************************************************/
static bool isIntegerNull ( tag_t inst_tag, tag_t att_tag );
/***************************************************************************************************/
// isLogicalNull - method to check if the POMLogical attribute is null
/***************************************************************************************************/
static bool isLogicalNull ( tag_t inst_tag, tag_t att_tag );
/***************************************************************************************************/
// isStringNull - method to check if the POMString attribute is null
/***************************************************************************************************/
static bool isStringNull ( tag_t inst_tag, tag_t att_tag );
/***************************************************************************************************/
// isTagNull - method to check if the POMTag attribute is null
/***************************************************************************************************/
static bool isTagNull ( tag_t inst_tag, tag_t att_tag );
/**
Inserts the specified value into the specified VLA attribute at the specified position.
The maximum value for start is the length of the VLA, at which point the insert becomes equivalent to an append.
@note VLAs are attributes which can have a variable number of elements of their declared type.
The data type of the VLA and class type (for typed references) or
string length (for notes and strings) is declared when the attribute is defined.
When an instance of a class with a VLA attribute is created, that VLA attribute is initialized to zero length.
*/
static int insertChar( tag_t inst_tag, tag_t att_tag, int pos, char type );
/**
Inserts the specified value into the specified VLA attribute at the specified position.
The maximum value for start is the length of the VLA, at which point the insert becomes equivalent to an append.
@note VLAs are attributes which can have a variable number of elements of their declared type.
The data type of the VLA and class type (for typed references) or
string length (for notes and strings) is declared when the attribute is defined.
When an instance of a class with a VLA attribute is created, that VLA attribute is initialized to zero length.
@note This function accepts the date in local time.
*/
static int insertDate( tag_t inst_tag, tag_t att_tag, int pos, date_t type );
/**
Inserts the specified value into the specified VLA attribute at the specified position.
The maximum value for start is the length of the VLA, at which point the insert becomes equivalent to an append.
@note VLAs are attributes which can have a variable number of elements of their declared type.
The data type of the VLA and class type (for typed references) or
string length (for notes and strings) is declared when the attribute is defined.
When an instance of a class with a VLA attribute is created, that VLA attribute is initialized to zero length.
*/
static int insertDouble( tag_t inst_tag, tag_t att_tag, int pos, double type );
/**
Inserts the specified value into the specified VLA attribute at the specified position.
The maximum value for start is the length of the VLA, at which point the insert becomes equivalent to an append.
@note VLAs are attributes which can have a variable number of elements of their declared type.
The data type of the VLA and class type (for typed references) or
string length (for notes and strings) is declared when the attribute is defined.
When an instance of a class with a VLA attribute is created, that VLA attribute is initialized to zero length.
*/
static int insertInteger( tag_t inst_tag, tag_t att_tag, int pos, int type );
/**
Inserts the specified value into the specified VLA attribute at the specified position.
The maximum value for start is the length of the VLA, at which point the insert becomes equivalent to an append.
@note VLAs are attributes which can have a variable number of elements of their declared type.
The data type of the VLA and class type (for typed references) or
string length (for notes and strings) is declared when the attribute is defined.
When an instance of a class with a VLA attribute is created, that VLA attribute is initialized to zero length.
*/
static int insertLogical( tag_t inst_tag, tag_t att_tag, int pos, bool type );
/**
Inserts the specified value into the specified VLA attribute at the specified position.
The maximum value for start is the length of the VLA, at which point the insert becomes equivalent to an append.
@note VLAs are attributes which can have a variable number of elements of their declared type.
The data type of the VLA and class type (for typed references) or
string length (for notes and strings) is declared when the attribute is defined.
When an instance of a class with a VLA attribute is created, that VLA attribute is initialized to zero length.
*/
static int insertString( tag_t inst_tag, tag_t att_tag, int pos, std::string type );
/**
Inserts the specified value into the specified VLA attribute at the specified position.
The maximum value for start is the length of the VLA, at which point the insert becomes equivalent to an append.
@note VLAs are attributes which can have a variable number of elements of their declared type.
The data type of the VLA and class type (for typed references) or
string length (for notes and strings) is declared when the attribute is defined.
When an instance of a class with a VLA attribute is created, that VLA attribute is initialized to zero length.
*/
static int insertTag( tag_t inst_tag, tag_t att_tag, int pos, tag_t type );
/***************************************************************************************************/
// charIndex - method to get the index value for a given value of the POMChar attribute
/***************************************************************************************************/
static int charIndex( tag_t inst_tag, tag_t att_tag , char value, int &index_val );
/***************************************************************************************************/
// dateIndex - method to get the index value for a given value of the POMDate attribute
/***************************************************************************************************/
static int dateIndex( tag_t inst_tag, tag_t att_tag , date_t value, int &index_val );
/***************************************************************************************************/
// doubleIndex - method to get the index value for a given value of the POMDouble attribute
/***************************************************************************************************/
static int doubleIndex( tag_t inst_tag, tag_t att_tag , double value, int &index_val );
/***************************************************************************************************/
// integerIndex - method to get the index value for a given value of the POMInteger attribute
/***************************************************************************************************/
static int integerIndex( tag_t inst_tag, tag_t att_tag , int value, int &index_val );
/***************************************************************************************************/
// logicalIndex - method to get the index value for a given value of the POMLogical attribute
/***************************************************************************************************/
static int logicalIndex( tag_t inst_tag, tag_t att_tag , logical value, int &index_val );
/***************************************************************************************************/
// stringIndex - method to get the index value for a given value of the POMString attribute
/***************************************************************************************************/
static int stringIndex( tag_t inst_tag, tag_t att_tag , std::string& value, int &index_val );
/***************************************************************************************************/
// tagIndex - method to get the index value for a given value of the POMTag attribute
/***************************************************************************************************/
static int tagIndex( tag_t inst_tag, tag_t att_tag , tag_t value, int &index_val );
/***************************************************************************************************/
// removeChar - method to remove a POMChar value from an Array/List
/***************************************************************************************************/
static int removeChar( tag_t inst_tag, tag_t att_tag , char value );
/***************************************************************************************************/
// removeDate - method to remove a PODate value from an Array/List
/***************************************************************************************************/
static int removeDate( tag_t inst_tag, tag_t att_tag , date_t value );
/***************************************************************************************************/
// removeDouble - method to remove a POMDouble value from an Array/List
/***************************************************************************************************/
static int removeDouble( tag_t inst_tag, tag_t att_tag , double value );
/***************************************************************************************************/
// removeInteger - method to remove a POMInteger value from an Array/List
/***************************************************************************************************/
static int removeInteger( tag_t inst_tag, tag_t att_tag , int value );
/***************************************************************************************************/
// removeLogical - method to remove a POMLogical value from an Array/List
/***************************************************************************************************/
static int removeLogical( tag_t inst_tag, tag_t att_tag , bool value );
/***************************************************************************************************/
// removeString - method to remove a POMString value from an Array/List
/***************************************************************************************************/
static int removeString( tag_t inst_tag, tag_t att_tag , std::string& value );
/***************************************************************************************************/
// removeTag - method to remove a POMTag value from an Array/List
/***************************************************************************************************/
static int removeTag( tag_t inst_tag, tag_t att_tag , tag_t value );
/***************************************************************************************************/
// appendChar - method to append a POMChar value to an Array/List
/***************************************************************************************************/
static int appendChar( tag_t inst_tag, tag_t att_tag , char value );
/***************************************************************************************************/
// appendDate - method to append a POMDate value to an Array/List
/***************************************************************************************************/
static int appendDate( tag_t inst_tag, tag_t att_tag , date_t value );
/***************************************************************************************************/
// appendDouble - method to append a POMDouble value to an Array/List
/***************************************************************************************************/
static int appendDouble( tag_t inst_tag, tag_t att_tag , double value );
/***************************************************************************************************/
// appendInteger - method to append a POMInteger value to an Array/List
/***************************************************************************************************/
static int appendInteger( tag_t inst_tag, tag_t att_tag , int value );
/***************************************************************************************************/
// appendLogical - method to append a POMLogical value to an Array/List
/***************************************************************************************************/
static int appendLogical( tag_t inst_tag, tag_t att_tag , bool value );
/***************************************************************************************************/
// appendString - method to append a POMDouble value to an Array/List
/***************************************************************************************************/
static int appendString( tag_t inst_tag, tag_t att_tag , std::string value );
/***************************************************************************************************/
// appendTag - method to append a POMInteger value to an Array/List
/***************************************************************************************************/
static int appendTag( tag_t inst_tag, tag_t att_tag , tag_t value );
/***************************************************************************************************/
// resetCharArray - method to reset the values in a POMChar Array/List
/***************************************************************************************************/
static int resetCharArray( tag_t inst_tag, tag_t att_tag, const std::vector<char>& values, const std::vector<int>* is_null = 0);
/***************************************************************************************************/
// resetCharList - method to reset the values in a POMChar Array/List
/***************************************************************************************************/
static int resetCharList( tag_t inst_tag, tag_t att_tag, const std::vector<char>& values, const std::vector<int>* is_null = 0);
/***************************************************************************************************/
// resetDateArray - method to reset the values in a POMDate Array/List
/***************************************************************************************************/
static int resetDateArray( tag_t inst_tag, tag_t att_tag, const std::vector<date_t>& values, const std::vector<int>* is_null = 0);
/***************************************************************************************************/
// resetDateList - method to reset the values in a POMDate Array/List
/***************************************************************************************************/
static int resetDateList( tag_t inst_tag, tag_t att_tag, const std::vector<date_t>& values, const std::vector<int>* is_null = 0);
/***************************************************************************************************/
// resetDoubleArray - method to reset the values in a POMDouble Array/List
/***************************************************************************************************/
static int resetDoubleArray( tag_t inst_tag, tag_t att_tag, const std::vector<double>& values, const std::vector<int>* is_null = 0);
/***************************************************************************************************/
// resetDoubleList - method to reset the values in a POMDouble Array/List
/***************************************************************************************************/
static int resetDoubleList( tag_t inst_tag, tag_t att_tag, const std::vector<double>& values, const std::vector<int>* is_null);
/***************************************************************************************************/
// resetIntegerArray - method to reset the values in a POMInteger Array/List
/***************************************************************************************************/
static int resetIntegerArray( tag_t inst_tag, tag_t att_tag, const std::vector<int>& values, const std::vector<int>* is_null);
/***************************************************************************************************/
// resetIntegerList - method to reset the values in a POMInteger Array/List
/***************************************************************************************************/
static int resetIntegerList( tag_t inst_tag, tag_t att_tag, const std::vector<int>& values, const std::vector<int>* is_null = 0);
/***************************************************************************************************/
// resetLogicalArray - method to reset the values in a POMLogical Array/List
/***************************************************************************************************/
static int resetLogicalArray( tag_t inst_tag, tag_t att_tag, const std::vector<int>& values, const std::vector<int>* is_null = 0);
/***************************************************************************************************/
// resetLogicalList - method to reset the values in a POMLogical Array/List
/***************************************************************************************************/
static int resetLogicalList( tag_t inst_tag, tag_t att_tag, const std::vector<int>& values, const std::vector<int>* is_null = 0);
/***************************************************************************************************/
// resetStringArray - method to reset the values in a POMString Array/List
/***************************************************************************************************/
static int resetStringArray( tag_t inst_tag, tag_t att_tag, const std::vector<std::string>& values, const std::vector<int>* is_null = 0);
/***************************************************************************************************/
// resetStringList - method to reset the values in a POMString Array/List
/***************************************************************************************************/
static int resetStringList( tag_t inst_tag, tag_t att_tag, const std::vector<std::string>& values, const std::vector<int>* is_null = 0);
/***************************************************************************************************/
// resetTagArray - method to reset the values in a POMTag Array/List
/***************************************************************************************************/
static int resetTagArray( tag_t inst_tag, tag_t att_tag, const std::vector<tag_t>& values, const std::vector<int>* is_null = 0);
/***************************************************************************************************/
// resetTagList - method to reset the values in a POMTag Array/List
/***************************************************************************************************/
static int resetTagList( tag_t inst_tag, tag_t att_tag, const std::vector<tag_t>& values, const std::vector<int>* is_null = 0);
/***************************************************************************************************/
// length - Method to get length of POMArray
/***************************************************************************************************/
static int length( tag_t inst_tag, tag_t att_tag);
/***************************************************************************************************/
// setNull - Method to set the value of a POM attribute as null
/***************************************************************************************************/
static int setNull( tag_t inst_tag, tag_t attr_tag );
/***************************************************************************************************/
// clear - Method to set the value of a POM attribute as null
/***************************************************************************************************/
static int setNullList( tag_t inst_tag, tag_t attr_tag );
/***************************************************************************************************/
// setNulls - Method to set the value of a POM attribute as null
/***************************************************************************************************/
static int setNullArray( tag_t inst_tag, tag_t attr_tag );
/***************************************************************************************************/
// removeAt - Method to remove the vallue from a given position
/***************************************************************************************************/
static int removeAt(tag_t inst, tag_t attr, int position);
/***************************************************************************************************/
// reorder - Method to reorder the values in a POMTag Array/List
/***************************************************************************************************/
static int reorder(tag_t inst_tag, tag_t attr_tag, int oldStart, int oldEnd, int newStart);
};
#include <cxpom/libcxpom_undef.h>
#endif