26std::unique_ptr<ROOT::Experimental::Detail::RColumnElementBase>
 
   30      return std::make_unique<RColumnElement<float, EColumnType::kReal32>>(
nullptr);
 
   32      return std::make_unique<RColumnElement<double, EColumnType::kReal64>>(
nullptr);
 
   34      return std::make_unique<RColumnElement<char, EColumnType::kChar>>(
nullptr);
 
   36      return std::make_unique<RColumnElement<std::uint8_t, EColumnType::kByte>>(
nullptr);
 
   38      return std::make_unique<RColumnElement<std::int8_t, EColumnType::kInt8>>(
nullptr);
 
   40      return std::make_unique<RColumnElement<std::int16_t, EColumnType::kInt16>>(
nullptr);
 
   42      return std::make_unique<RColumnElement<std::int32_t, EColumnType::kInt32>>(
nullptr);
 
   44      return std::make_unique<RColumnElement<std::int64_t, EColumnType::kInt64>>(
nullptr);
 
   46      return std::make_unique<RColumnElement<bool, EColumnType::kBit>>(
nullptr);
 
   48      return std::make_unique<RColumnElement<ClusterSize_t, EColumnType::kIndex>>(
nullptr);
 
   50      return std::make_unique<RColumnElement<RColumnSwitch, EColumnType::kSwitch>>(
nullptr);
 
  120                                                                                                std::size_t count)
 const 
  123   auto uint64Array = 
reinterpret_cast<std::uint64_t *
>(dst);
 
  124   for (std::size_t i = 0; i < count; ++i) {
 
  126         (
static_cast<std::uint64_t
>(srcArray[i].GetTag()) << 44) | (srcArray[i].GetIndex() & 0x0fffffffffff);
 
  127#if R__LITTLE_ENDIAN == 0 
  135                                                                                        std::size_t count)
 const 
  137   auto uint64Array = 
reinterpret_cast<std::uint64_t *
>(
src);
 
  139   for (std::size_t i = 0; i < count; ++i) {
 
  140#if R__LITTLE_ENDIAN == 1 
  141      const auto value = uint64Array[i];
 
  151  void *dst, 
void *
src, std::size_t count)
 const 
  153   bool *boolArray = 
reinterpret_cast<bool *
>(
src);
 
  154   char *charArray = 
reinterpret_cast<char *
>(dst);
 
  155   std::bitset<8> bitSet;
 
  157   for (; i < count; ++i) {
 
  158      bitSet.set(i % 8, boolArray[i]);
 
  160         char packed = bitSet.to_ulong();
 
  161         charArray[i / 8] = packed;
 
  165      char packed = bitSet.to_ulong();
 
  166      charArray[i / 8] = packed;
 
  171  void *dst, 
void *
src, std::size_t count)
 const 
  173   bool *boolArray = 
reinterpret_cast<bool *
>(dst);
 
  174   char *charArray = 
reinterpret_cast<char *
>(
src);
 
  175   std::bitset<8> bitSet;
 
  176   for (std::size_t i = 0; i < count; i += 8) {
 
  177      bitSet = charArray[i / 8];
 
  178      for (std::size_t j = i; j < std::min(count, i + 8); ++j) {
 
  179         boolArray[j] = bitSet[j % 8];
 
  186  void *dst, 
void *
src, std::size_t count)
 const 
  188   std::int64_t *int64Array = 
reinterpret_cast<std::int64_t *
>(
src);
 
  189   std::int32_t *int32Array = 
reinterpret_cast<std::int32_t *
>(dst);
 
  190   for (std::size_t i = 0; i < count; ++i) {
 
  191      int32Array[i] = int64Array[i];
 
  192#if R__LITTLE_ENDIAN == 0 
  199  void *dst, 
void *
src, std::size_t count)
 const 
  201   std::int32_t *int32Array = 
reinterpret_cast<std::int32_t *
>(
src);
 
  202   std::int64_t *int64Array = 
reinterpret_cast<std::int64_t *
>(dst);
 
  203   for (std::size_t i = 0; i < count; ++i) {
 
  204      int64Array[i] = int32Array[i];
 
  205#if R__LITTLE_ENDIAN == 0 
Option_t Option_t TPoint TPoint const char GetTextMagnitude GetFillStyle GetLineColor GetLineWidth GetMarkerStyle GetTextAlign GetTextColor GetTextSize void value
 
Option_t Option_t TPoint TPoint const char GetTextMagnitude GetFillStyle GetLineColor GetLineWidth GetMarkerStyle GetTextAlign GetTextColor GetTextSize void char Point_t Rectangle_t src
 
Option_t Option_t TPoint TPoint const char GetTextMagnitude GetFillStyle GetLineColor GetLineWidth GetMarkerStyle GetTextAlign GetTextColor GetTextSize void char Point_t Rectangle_t WindowAttributes_t Float_t Float_t Float_t Int_t Int_t UInt_t UInt_t Rectangle_t Int_t Int_t Window_t TString Int_t GCValues_t GetPrimarySelectionOwner GetDisplay GetScreen GetColormap GetNativeEvent const char const char dpyName wid window const char font_name cursor keysym reg const char only_if_exist regb h Point_t winding char text const char depth char const char Int_t count const char ColorStruct_t color const char Pixmap_t Pixmap_t PictureAttributes_t attr const char char ret_data h unsigned char height h Atom_t Int_t ULong_t ULong_t unsigned char prop_list Atom_t Atom_t Atom_t Time_t type
 
virtual void Pack(void *destination, void *source, std::size_t count) const
If the on-storage layout and the in-memory layout differ, packing creates an on-disk page from an in-...
 
static std::unique_ptr< RColumnElementBase > Generate(EColumnType type)
 
virtual std::size_t GetBitsOnStorage() const
 
static std::string GetTypeName(EColumnType type)
 
virtual void Unpack(void *destination, void *source, std::size_t count) const
If the on-storage layout and the in-memory layout differ, unpacking creates a memory page from an on-...
 
Pairs of C++ type and column type, like float and EColumnType::kReal32.
 
Holds the index and the tag of a kSwitch column.
 
RClusterSize ClusterSize_t
 
Helper templated class for swapping bytes; specializations for N={2,4,8} are provided below.