Adobe Source Libraries 2.0.0
A collection of C++ libraries.
Loading...
Searching...
No Matches
iomanip_asl_cel.hpp
Go to the documentation of this file.
1/*
2 Copyright 2013 Adobe
3 Distributed under the Boost Software License, Version 1.0.
4 (See accompanying file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
5*/
6/**************************************************************************************************/
7
8#ifdef ADOBE_STD_SERIALIZATION
9
10/**************************************************************************************************/
11
12#ifndef ADOBE_IOMANIP_ASL_CEL_HPP
13#define ADOBE_IOMANIP_ASL_CEL_HPP
14
15/**************************************************************************************************/
16
17#include <adobe/config.hpp>
18
19#include <adobe/iomanip.hpp>
20
21/**************************************************************************************************/
22
23namespace adobe {
24
25/**************************************************************************************************/
26
28class asl_cel_format : public format_base {
29 typedef format_base inherited_t;
30
31public:
32 typedef inherited_t::stream_type stream_type;
33
34 explicit asl_cel_format(bool safe_strings) : escape_m(safe_strings) {}
35
36 virtual void begin_format(stream_type& os);
37
38 virtual void begin_bag(stream_type& os, const std::string& ident);
39
40 virtual void begin_sequence(stream_type& os);
41
42 virtual void begin_atom(stream_type& os, const serializable_t&);
43
44private:
45 virtual void stack_event(stream_type& os, bool is_push);
46
47 void handle_atom(stream_type& os, bool is_push);
48
49 bool escape_m;
50};
51
52/**************************************************************************************************/
53
55std::ostream& begin_asl_cel(std::ostream& os);
56
58std::ostream& end_asl_cel(std::ostream& os);
59
61std::ostream& begin_asl_cel_unsafe(std::ostream& os);
62
64std::ostream& end_asl_cel_unsafe(std::ostream& os);
65
66/**************************************************************************************************/
67
68} // namespace adobe
69
70/**************************************************************************************************/
71
72#endif
73
74/**************************************************************************************************/
75
76#endif
77
78/**************************************************************************************************/