Rudiments
scalarcollection.h
1// Copyright (c) 1999-2018 David Muse
2// See the COPYING file for more information.
3
4#ifndef RUDIMENTS_SCALARCOLLECTION_H
5#define RUDIMENTS_SCALARCOLLECTION_H
6
7#include <rudiments/collection.h>
8#include <rudiments/output.h>
9
12template <class valuetype>
14 public:
16 virtual const char *getType();
17
19 virtual uint64_t getCount();
20
22 virtual void setValue(valuetype v)=0;
23
26 virtual valuetype getValue()=0;
27
29 virtual valuetype &getReference()=0;
30
33 virtual ssize_t write();
34
36 virtual ssize_t write(output *out);
37
40 virtual ssize_t writeJson();
41
48 virtual ssize_t writeJson(bool indent);
49
52 virtual ssize_t writeJson(output *out);
53
60 virtual ssize_t writeJson(output *out, bool indent);
61};
62
63#include <rudiments/private/scalarcollectioninlines.h>
64
65#endif
Definition avltree.h:11
Definition collection.h:11
Definition output.h:11
Definition scalarcollection.h:13
virtual valuetype & getReference()=0
virtual ssize_t write()
Definition scalarcollectioninlines.h:17
virtual uint64_t getCount()
Definition scalarcollectioninlines.h:11
virtual void setValue(valuetype v)=0
virtual const char * getType()
Definition scalarcollectioninlines.h:6
virtual ssize_t writeJson()
Definition scalarcollectioninlines.h:29
virtual valuetype getValue()=0