00001 /* @HEADER@ */ 00002 // 00003 /* @HEADER@ */ 00004 00005 #ifndef PLAYA_DATACHUNK_HPP 00006 #define PLAYA_DATACHUNK_HPP 00007 00008 #include "PlayaDefs.hpp" 00009 00010 namespace Playa 00011 { 00012 /** 00013 * This class wraps a pointer to a single contiguous chunk of scalar data 00014 * 00015 * @author Kevin Long (kevin.long@ttu.edu) 00016 */ 00017 template <class Scalar> 00018 class ConstDataChunk 00019 { 00020 public: 00021 /** */ 00022 ConstDataChunk(int size, const Scalar* values) 00023 : size_(size), values_(values) {} 00024 00025 /** */ 00026 const Scalar* values() const {return values_;} 00027 00028 /** */ 00029 int size() const {return size_;} 00030 00031 private: 00032 int size_; 00033 const Scalar* values_; 00034 }; 00035 00036 /** 00037 * This class wraps a pointer to a single contiguous chunk of scalar data 00038 * 00039 * @author Kevin Long (kevin.long@ttu.edu) 00040 */ 00041 template <class Scalar> 00042 class NonConstDataChunk 00043 { 00044 public: 00045 /** */ 00046 NonConstDataChunk(int size, Scalar* values) 00047 : size_(size), values_(values) {} 00048 00049 /** */ 00050 const Scalar* values() const {return values_;} 00051 00052 /** */ 00053 Scalar* values() {return values_;} 00054 00055 /** */ 00056 int size() const {return size_;} 00057 private: 00058 int size_; 00059 Scalar* values_; 00060 }; 00061 00062 00063 00064 } 00065 00066 #endif