atlas  0.6
basic_io.h
Go to the documentation of this file.
1 /*
2  This is basic_io.h
3 
4  Copyright (C) 2004,2005 Fokko du Cloux
5  part of the Atlas of Lie Groups and Representations
6 
7  For license information see the LICENSE file
8 */
9 
10 #ifndef BASIC_IO_H /* guard against multiple inclusions */
11 #define BASIC_IO_H
12 
13 #include <iosfwd>
14 #include <iostream>
15 #include <vector>
16 
17 #include "../Atlas.h"
18 
19 /******** function declarations *********************************************/
20 
21 namespace atlas {
22 
23 /* Non-member operators are defined in namespace of an operand, then
24  argument-dependent lookup will find the operator if it's known at all.
25 
26  However, for |typedef| types, we need the namespace of the definiens
27 */
28 
29 namespace lietype {
30  std::ostream& operator<< (std::ostream& strm, const SimpleLieType& slt);
31  std::ostream& operator<< (std::ostream&, const LieType&);
32  std::ostream& operator<< (std::ostream&, const InnerClassType&);
33 }
34 
35 namespace weyl {
36  std::ostream& operator<< (std::ostream&, const WeylWord&);
37 }
38 
39 namespace matrix {
40  template<typename C>
41  std::ostream& operator<< (std::ostream&, const Vector<C>&);
42 }
43 
44 namespace polynomials {
45 template <typename C>
46  std::ostream& operator<< (std::ostream& strm, const Polynomial<C>& P);
47 }
48 
49 namespace ratvec {
50  std::ostream& operator<< (std::ostream&, const RatWeight&);
51 }
52 
53 namespace bitset {
54 template<size_t d>
55  std::ostream& operator<< (std::ostream&, const BitSet<d>&);
56 }
57 
58 namespace bitvector {
59 template<size_t dim>
60  std::ostream& operator<< (std::ostream&, const BitVector<dim>&);
61 }
62 
63 namespace arithmetic {
64 
65  std::ostream& operator<< (std::ostream& strm, const Split_integer& s);
66 
67 } // |namespace arithmetic|
68 
69 namespace basic_io {
70 
71 // other functions
72 template<typename I>
73 std::ostream& seqPrint(std::ostream&, const I&, const I&,
74  const char* sep = ",", const char* pre = "",
75  const char* post = "");
76 
77 template <unsigned int n>
78 unsigned long long read_bytes(std::istream& in);
79 
80 template <unsigned int n>
81 void write_bytes(unsigned long long val, std::ostream& out);
82 
83 unsigned long long read_var_bytes(unsigned int n,std::istream& in);
84 
85 void put_int (unsigned int val, std::ostream& out);
86 void write_bytes(unsigned int n, unsigned long long val, std::ostream& out);
87 
88 
89 } // |namespace basic_io|
90 
91 } // |namespace atlas|
92 
93 #include "basic_io_def.h"
94 
95 #endif
unsigned long long read_bytes(std::istream &in)
Definition: basic_io_def.h:51
void write_bytes(file_pos val, ulong n, std::ostream &out)
Definition: coef-merge.cpp:242
ullong read_var_bytes(unsigned int n, std::istream &in)
Definition: KLread.cpp:152
void put_int(unsigned int val, std::ostream &out)
Definition: basic_io.cpp:182
std::ostream & seqPrint(std::ostream &, const I &, const I &, const char *sep=",", const char *pre="", const char *post="")
Definition: basic_io_def.h:30
std::ostream & operator<<(std::ostream &strm, const SimpleLieType &slt)
Definition: basic_io.cpp:77
#define out(c)
Definition: cweave.c:205
unsigned long n
Definition: axis.cpp:77
Definition: Atlas.h:38
ratvec::RationalVector< arithmetic::Numer_t > RatWeight
Definition: Atlas.h:156