CGEM BOSS 6.6.5.g
BESIII Offline Software System
Loading...
Searching...
No Matches
HTAbsValVector.h
Go to the documentation of this file.
1//--------------------------------------------------------------------------
2// File and Version Information:
3// $Id: HTAbsValVector.h,v 1.2 2009/12/23 02:59:56 zhangy Exp $
4//
5// Description:
6// This is an abstract class specifing the interface which any
7// vector-like class must provide if it needs to be used as the parameter
8// to ntuple's column() method taking arrays.
9//
10// Environment:
11// Software developed for the BaBar Detector at the SLAC B-Factory.
12//
13// Author List:
14// A.Salnikov
15//
16// Copyright Information:
17// Copyright (C) 1997 Saclay
18//
19// History:
20// Migration for BESIII MDC
21//
22//------------------------------------------------------------------------
23
24#ifndef HTAbsValVector_H
25#define HTAbsValVector_H
26
27#include <sys/types.h>
28#include <stddef.h>
29
30// ---------------------
31// -- Class Interface --
32// ---------------------
33
34template<class T>
36
37public:
38 virtual ~HTAbsValVector() {}
39
40 // operators
41 virtual const T& operator()(size_t i) const = 0;
42 virtual T& operator()(size_t i) = 0;
43 virtual const T& operator[](size_t i) const = 0;
44 virtual T& operator[](size_t i) = 0;
45
46 // methods
47 virtual size_t length() const = 0;
48
49};
50
51#endif // TEMPLATE_H
virtual const T & operator()(size_t i) const =0
virtual T & operator[](size_t i)=0
virtual size_t length() const =0
virtual T & operator()(size_t i)=0
virtual ~HTAbsValVector()
virtual const T & operator[](size_t i) const =0