Changeset 1735 for trunk/bindings


Ignore:
Timestamp:
06/11/11 10:42:45 (7 months ago)
Author:
Freddie Akeroyd
Message:

Remove some warnings and allow passing of globals (e.g. warnings) C/C++ flag in CMake
Refs #286

Location:
trunk/bindings/cpp
Files:
3 edited

Legend:

Unmodified
Added
Removed
  • trunk/bindings/cpp/CMakeLists.txt

    r1674 r1735  
    2727#==================================================================== 
    2828 
    29 add_definitions(-DIN_NEXUS_CPP_LIBRARY=1 ) 
     29add_definitions(-DIN_NEXUS_CPP_LIBRARY=1 ${NX_CPP}) 
    3030 
    3131#Make NeXus CPP Bindings Static Library 
     
    3333set (HEADERS NeXusFile.hpp NeXusException.hpp NeXusStream.hpp) 
    3434set (SOURCES NeXusFile.hpp NeXusFile.cpp NeXusException.hpp NeXusException.cpp NeXusStream.hpp NeXusStream.cpp) 
     35 
     36set_property(SOURCE ${SOURCES} APPEND PROPERTY COMPILE_FLAGS ${NX_CFLAGS}) 
    3537 
    3638add_library (NeXus_CPP_Static_Library STATIC ${HEADERS} ${SOURCES}) 
  • trunk/bindings/cpp/NeXusFile.cpp

    r1732 r1735  
    144144 
    145145static void inner_malloc(void* & data, const std::vector<int64_t>& dims, NXnumtype type) { 
    146   size_t rank = dims.size(); 
     146  int rank = dims.size(); 
    147147  int64_t c_dims[NX_MAXRANK]; 
    148148  for (size_t i = 0; i < rank; i++) { 
     
    363363template <typename NumT> 
    364364void File::writeData(const string& name, const vector<NumT>& value) { 
    365   vector<int> dims(1, value.size()); 
     365  vector<int64_t> dims(1, value.size()); 
    366366  this->writeData(name, value, dims); 
    367367} 
     
    375375} 
    376376 
     377template <typename NumT> 
     378void File::writeData(const string& name, const vector<NumT>& value, 
     379                     const vector<int64_t>& dims) { 
     380  this->makeData(name, getType<NumT>(), dims, true); 
     381  this->putData(value); 
     382  this->closeData(); 
     383} 
    377384 
    378385 
     
    642649template <typename NumT> 
    643650void File::putSlab(vector<NumT>& data, int64_t start, int64_t size) { 
    644   vector<int> start_v; 
     651  vector<int64_t> start_v; 
    645652  start_v.push_back(start); 
    646   vector<int> size_v; 
     653  vector<int64_t> size_v; 
    647654  size_v.push_back(size); 
    648655  this->putSlab(data, start_v, size_v); 
     
    10121019 
    10131020  int rank = start.size(); 
    1014   int i_start[NX_MAXRANK]; 
    1015   for (int i = 0; i < rank; i++) { 
    1016     i_start[i] = start[i]; 
    1017   } 
    1018   int i_size[NX_MAXRANK]; 
    1019   for (int i = 0; i < rank; i++) { 
    1020     i_size[i] = size[i]; 
    1021   } 
    1022  
    1023   NXstatus status = NXgetslab(this->m_file_id, data, i_start, i_size); 
     1021 
     1022  NXstatus status = NXgetslab64(this->m_file_id, data, &(start[0]), &(size[0])); 
    10241023  if (status != NX_OK) { 
    10251024    throw Exception("NXgetslab failed", status); 
  • trunk/bindings/cpp/NeXusFile.hpp

    r1732 r1735  
    332332                   const std::vector<int>& dims); 
    333333 
     334        /** 
     335     * Create a n-dimension data field, insert the data, and close the data. 
     336     * 
     337     * \param name The name of the field to create. 
     338     * \param value The data to put into the file. 
     339     * \param dims The dimensions of the data. 
     340     * \tparam NumT numeric data type of \a value 
     341     */ 
     342    template <typename NumT> 
     343    void writeData(const std::string& name, const std::vector<NumT>& value, 
     344                   const std::vector<int64_t>& dims); 
    334345 
    335346    /** Create a 1D data field with an unlimited dimension, insert the data, and close the data. 
Note: See TracChangeset for help on using the changeset viewer.