Rudiments
output.h
1 // Copyright (c) 2018 David Muse
2 // See the COPYING file for more information.
3 
4 #ifndef RUDIMENTS_OUTPUT_H
5 #define RUDIMENTS_OUTPUT_H
6 
7 #include <rudiments/private/outputincludes.h>
8 
9 class RUDIMENTS_DLLSPEC output {
10  public:
11  virtual ~output();
12 
13  virtual ssize_t write(const unsigned char *string,
14  size_t size)=0;
15  virtual ssize_t write(const char *string)=0;
16  virtual ssize_t write(const char *string, size_t size)=0;
17  virtual ssize_t write(char character)=0;
18  virtual ssize_t write(int16_t number)=0;
19  virtual ssize_t write(int32_t number)=0;
20  virtual ssize_t write(int64_t number)=0;
21  virtual ssize_t write(unsigned char character)=0;
22  virtual ssize_t write(uint16_t number)=0;
23  virtual ssize_t write(uint32_t number)=0;
24  virtual ssize_t write(uint64_t number)=0;
25  virtual ssize_t write(float number)=0;
26  virtual ssize_t write(double number)=0;
27 
28  virtual ssize_t write(const unsigned char *string, size_t size,
29  int32_t sec, int32_t usec);
30  virtual ssize_t write(const char *string,
31  int32_t sec, int32_t usec);
32  virtual ssize_t write(const char *string, size_t size,
33  int32_t sec, int32_t usec);
34  virtual ssize_t write(char character,
35  int32_t sec, int32_t usec);
36  virtual ssize_t write(int16_t number,
37  int32_t sec, int32_t usec);
38  virtual ssize_t write(int32_t number,
39  int32_t sec, int32_t usec);
40  virtual ssize_t write(int64_t number,
41  int32_t sec, int32_t usec);
42  virtual ssize_t write(unsigned char character,
43  int32_t sec, int32_t usec);
44  virtual ssize_t write(uint16_t number,
45  int32_t sec, int32_t usec);
46  virtual ssize_t write(uint32_t number,
47  int32_t sec, int32_t usec);
48  virtual ssize_t write(uint64_t number,
49  int32_t sec, int32_t usec);
50  virtual ssize_t write(float number,
51  int32_t sec, int32_t usec);
52  virtual ssize_t write(double number,
53  int32_t sec, int32_t usec);
54 };
55 
56 #endif
Definition: character.h:11
Definition: output.h:9