/*******************************************************************************
** Copyright (c) 1992-2025 MAK Technologies, Inc
** All rights reserved.
*******************************************************************************/
//! \file intLEDatatypeRep.h
//! \ingroup omtReader
#pragma once



#include "intDatatypeRep.h"
#ifdef DtUSE_UTILITIES_NAMESPACE
namespace DtUSE_UTILITIES_NAMESPACE
{
#endif
//! OMT Datatype of type Integer - in little endian
//! \ingroup omtReader
class DT_DLL_OMTREADER DtIntLEDatatypeRep : public DtIntDatatypeRep
{
public:
   
   //! Default Constructor
   DtIntLEDatatypeRep(bool useImplicitPadding, bool unsign = false);
   
   //! Destructor
   virtual ~DtIntLEDatatypeRep();
   
   //! Copy Constructor
   DtIntLEDatatypeRep(const DtIntLEDatatypeRep& orig);
   
   //! Assignment Operator
   DtIntLEDatatypeRep& operator=(const DtIntLEDatatypeRep& rhs);
   
   //! @return "int"
   virtual const char* datatype() const;
   
   //! @return the int val of this item
   virtual int intVal(const void*) const;
   
   //! @return the unsigned int val of this item
   virtual unsigned unsignedIntVal(const void*) const;
   
   //! @return an exact copy of the byte stream
   virtual DtString stringRep(const void* ptr, int* size = 0) const;

   //! @return the number version of the byte stream
   virtual double numberRep(const void* ptr, int* size = 0) const;

   virtual void setUnsigned(bool);

   //! @return the reverse of string rep
   virtual std::vector<char> valueFromStringRep(const DtString& stringRep) const;
};



#ifdef DtUSE_UTILITIES_NAMESPACE
} // end of namespace DtUSE_UTILITIES_NAMESPACE
#endif
