GENEIAL  0.2=/
 All Classes Pages
Printable.h
1 #pragma once
2 
3 #include <geneial/namespaces.h>
4 
5 #include <iostream>
6 
7 
8 geneial_private_namespace(geneial)
9 {
10 geneial_private_namespace(utility)
11 {
12 
13 geneial_export_namespace
14 {
15 
16 class Printable
17 {
18 public:
19  virtual ~Printable()
20  {
21  }
22 
23  virtual void print(std::ostream& os) const = 0;
24 };
28 std::ostream& operator<<(std::ostream& os, const Printable& p);
32 std::ostream& operator<<(std::ostream& os, const Printable*& p);
33 
34 } /* geneial_export_namespace */
35 } /* private namespace utility */
36 } /* private namespace geneial */