<!DOCTYPE html>
<html>
<head>
<title>deprecated</title>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<style type="text/css">
/* GitHub stylesheet for MarkdownPad (http://markdownpad.com) */
/* Author: Nicolas Hery - http://nicolashery.com */
/* Version: b13fe65ca28d2e568c6ed5d7f06581183df8f2ff */
/* Source: https://github.com/nicolahery/markdownpad-github */

/* RESET
=============================================================================*/

html, body, div, span, applet, object, iframe, h1, h2, h3, h4, h5, h6, p, blockquote, pre, a, abbr, acronym, address, big, cite, code, del, dfn, em, img, ins, kbd, q, s, samp, small, strike, strong, sub, sup, tt, var, b, u, i, center, dl, dt, dd, ol, ul, li, fieldset, form, label, legend, table, caption, tbody, tfoot, thead, tr, th, td, article, aside, canvas, details, embed, figure, figcaption, footer, header, hgroup, menu, nav, output, ruby, section, summary, time, mark, audio, video {
  margin: 0;
  padding: 0;
  border: 0;
}

/* BODY
=============================================================================*/

body {
  font-family: Helvetica, arial, freesans, clean, sans-serif;
  font-size: 14px;
  line-height: 1.6;
  color: #333;
  background-color: #fff;
  padding: 20px;
  max-width: 960px;
  margin: 0 auto;
}

body>*:first-child {
  margin-top: 0 !important;
}

body>*:last-child {
  margin-bottom: 0 !important;
}

/* BLOCKS
=============================================================================*/

p, blockquote, ul, ol, dl, table, pre {
  margin: 15px 0;
}

/* HEADERS
=============================================================================*/

h1, h2, h3, h4, h5, h6 {
  margin: 20px 0 10px;
  padding: 0;
  font-weight: bold;
  -webkit-font-smoothing: antialiased;
}

h1 tt, h1 code, h2 tt, h2 code, h3 tt, h3 code, h4 tt, h4 code, h5 tt, h5 code, h6 tt, h6 code {
  font-size: inherit;
}

h1 {
  font-size: 28px;
  color: #000;
}

h2 {
  font-size: 24px;
  border-bottom: 1px solid #ccc;
  color: #000;
}

h3 {
  font-size: 18px;
}

h4 {
  font-size: 16px;
}

h5 {
  font-size: 14px;
}

h6 {
  color: #777;
  font-size: 14px;
}

body>h2:first-child, body>h1:first-child, body>h1:first-child+h2, body>h3:first-child, body>h4:first-child, body>h5:first-child, body>h6:first-child {
  margin-top: 0;
  padding-top: 0;
}

a:first-child h1, a:first-child h2, a:first-child h3, a:first-child h4, a:first-child h5, a:first-child h6 {
  margin-top: 0;
  padding-top: 0;
}

h1+p, h2+p, h3+p, h4+p, h5+p, h6+p {
  margin-top: 10px;
}

/* LINKS
=============================================================================*/

a {
  color: #4183C4;
  text-decoration: none;
}

a:hover {
  text-decoration: underline;
}

/* LISTS
=============================================================================*/

ul, ol {
  padding-left: 30px;
}

ul li > :first-child, 
ol li > :first-child, 
ul li ul:first-of-type, 
ol li ol:first-of-type, 
ul li ol:first-of-type, 
ol li ul:first-of-type {
  margin-top: 0px;
}

ul ul, ul ol, ol ol, ol ul {
  margin-bottom: 0;
}

dl {
  padding: 0;
}

dl dt {
  font-size: 14px;
  font-weight: bold;
  font-style: italic;
  padding: 0;
  margin: 15px 0 5px;
}

dl dt:first-child {
  padding: 0;
}

dl dt>:first-child {
  margin-top: 0px;
}

dl dt>:last-child {
  margin-bottom: 0px;
}

dl dd {
  margin: 0 0 15px;
  padding: 0 15px;
}

dl dd>:first-child {
  margin-top: 0px;
}

dl dd>:last-child {
  margin-bottom: 0px;
}

/* CODE
=============================================================================*/

pre, code, tt {
  font-size: 12px;
  font-family: Consolas, "Liberation Mono", Courier, monospace;
}

code, tt {
  margin: 0 0px;
  padding: 0px 0px;
  white-space: nowrap;
  border: 1px solid #eaeaea;
  background-color: #f8f8f8;
  border-radius: 3px;
}

pre>code {
  margin: 0;
  padding: 0;
  white-space: pre;
  border: none;
  background: transparent;
}

pre {
  background-color: #f8f8f8;
  border: 1px solid #ccc;
  font-size: 13px;
  line-height: 19px;
  overflow: auto;
  padding: 6px 10px;
  border-radius: 3px;
}

pre code, pre tt {
  background-color: transparent;
  border: none;
}

kbd {
    -moz-border-bottom-colors: none;
    -moz-border-left-colors: none;
    -moz-border-right-colors: none;
    -moz-border-top-colors: none;
    background-color: #DDDDDD;
    background-image: linear-gradient(#F1F1F1, #DDDDDD);
    background-repeat: repeat-x;
    border-color: #DDDDDD #CCCCCC #CCCCCC #DDDDDD;
    border-image: none;
    border-radius: 2px 2px 2px 2px;
    border-style: solid;
    border-width: 1px;
    font-family: "Helvetica Neue",Helvetica,Arial,sans-serif;
    line-height: 10px;
    padding: 1px 4px;
}

/* QUOTES
=============================================================================*/

blockquote {
  border-left: 4px solid #DDD;
  padding: 0 15px;
  color: #777;
}

blockquote>:first-child {
  margin-top: 0px;
}

blockquote>:last-child {
  margin-bottom: 0px;
}

/* HORIZONTAL RULES
=============================================================================*/

hr {
  clear: both;
  margin: 15px 0;
  height: 0px;
  overflow: hidden;
  border: none;
  background: transparent;
  border-bottom: 4px solid #ddd;
  padding: 0;
}

/* TABLES
=============================================================================*/

table th {
  font-weight: bold;
}

table th, table td {
  border: 1px solid #ccc;
  padding: 6px 13px;
}

table tr {
  border-top: 1px solid #ccc;
  background-color: #fff;
}

table tr:nth-child(2n) {
  background-color: #f8f8f8;
}

/* IMAGES
=============================================================================*/

img {
  max-width: 100%
}
</style>
<style type="text/css">
.highlight  { background: #ffffff; }
.highlight .c { color: #999988; font-style: italic } /* Comment */
.highlight .err { color: #a61717; background-color: #e3d2d2 } /* Error */
.highlight .k { font-weight: bold } /* Keyword */
.highlight .o { font-weight: bold } /* Operator */
.highlight .cm { color: #999988; font-style: italic } /* Comment.Multiline */
.highlight .cp { color: #999999; font-weight: bold } /* Comment.Preproc */
.highlight .c1 { color: #999988; font-style: italic } /* Comment.Single */
.highlight .cs { color: #999999; font-weight: bold; font-style: italic } /* Comment.Special */
.highlight .gd { color: #000000; background-color: #ffdddd } /* Generic.Deleted */
.highlight .gd .x { color: #000000; background-color: #ffaaaa } /* Generic.Deleted.Specific */
.highlight .ge { font-style: italic } /* Generic.Emph */
.highlight .gr { color: #aa0000 } /* Generic.Error */
.highlight .gh { color: #999999 } /* Generic.Heading */
.highlight .gi { color: #000000; background-color: #ddffdd } /* Generic.Inserted */
.highlight .gi .x { color: #000000; background-color: #aaffaa } /* Generic.Inserted.Specific */
.highlight .go { color: #888888 } /* Generic.Output */
.highlight .gp { color: #555555 } /* Generic.Prompt */
.highlight .gs { font-weight: bold } /* Generic.Strong */
.highlight .gu { color: #aaaaaa } /* Generic.Subheading */
.highlight .gt { color: #aa0000 } /* Generic.Traceback */
.highlight .kc { font-weight: bold } /* Keyword.Constant */
.highlight .kd { font-weight: bold } /* Keyword.Declaration */
.highlight .kp { font-weight: bold } /* Keyword.Pseudo */
.highlight .kr { font-weight: bold } /* Keyword.Reserved */
.highlight .kt { color: #445588; font-weight: bold } /* Keyword.Type */
.highlight .m { color: #009999 } /* Literal.Number */
.highlight .s { color: #d14 } /* Literal.String */
.highlight .na { color: #008080 } /* Name.Attribute */
.highlight .nb { color: #0086B3 } /* Name.Builtin */
.highlight .nc { color: #445588; font-weight: bold } /* Name.Class */
.highlight .no { color: #008080 } /* Name.Constant */
.highlight .ni { color: #800080 } /* Name.Entity */
.highlight .ne { color: #990000; font-weight: bold } /* Name.Exception */
.highlight .nf { color: #990000; font-weight: bold } /* Name.Function */
.highlight .nn { color: #555555 } /* Name.Namespace */
.highlight .nt { color: #000080 } /* Name.Tag */
.highlight .nv { color: #008080 } /* Name.Variable */
.highlight .ow { font-weight: bold } /* Operator.Word */
.highlight .w { color: #bbbbbb } /* Text.Whitespace */
.highlight .mf { color: #009999 } /* Literal.Number.Float */
.highlight .mh { color: #009999 } /* Literal.Number.Hex */
.highlight .mi { color: #009999 } /* Literal.Number.Integer */
.highlight .mo { color: #009999 } /* Literal.Number.Oct */
.highlight .sb { color: #d14 } /* Literal.String.Backtick */
.highlight .sc { color: #d14 } /* Literal.String.Char */
.highlight .sd { color: #d14 } /* Literal.String.Doc */
.highlight .s2 { color: #d14 } /* Literal.String.Double */
.highlight .se { color: #d14 } /* Literal.String.Escape */
.highlight .sh { color: #d14 } /* Literal.String.Heredoc */
.highlight .si { color: #d14 } /* Literal.String.Interpol */
.highlight .sx { color: #d14 } /* Literal.String.Other */
.highlight .sr { color: #009926 } /* Literal.String.Regex */
.highlight .s1 { color: #d14 } /* Literal.String.Single */
.highlight .ss { color: #990073 } /* Literal.String.Symbol */
.highlight .bp { color: #999999 } /* Name.Builtin.Pseudo */
.highlight .vc { color: #008080 } /* Name.Variable.Class */
.highlight .vg { color: #008080 } /* Name.Variable.Global */
.highlight .vi { color: #008080 } /* Name.Variable.Instance */
.highlight .il { color: #009999 } /* Literal.Number.Integer.Long */
.pl-c {
    color: #969896;
}

.pl-c1,.pl-mdh,.pl-mm,.pl-mp,.pl-mr,.pl-s1 .pl-v,.pl-s3,.pl-sc,.pl-sv {
    color: #0086b3;
}

.pl-e,.pl-en {
    color: #795da3;
}

.pl-s1 .pl-s2,.pl-smi,.pl-smp,.pl-stj,.pl-vo,.pl-vpf {
    color: #333;
}

.pl-ent {
    color: #63a35c;
}

.pl-k,.pl-s,.pl-st {
    color: #a71d5d;
}

.pl-pds,.pl-s1,.pl-s1 .pl-pse .pl-s2,.pl-sr,.pl-sr .pl-cce,.pl-sr .pl-sra,.pl-sr .pl-sre,.pl-src,.pl-v {
    color: #df5000;
}

.pl-id {
    color: #b52a1d;
}

.pl-ii {
    background-color: #b52a1d;
    color: #f8f8f8;
}

.pl-sr .pl-cce {
    color: #63a35c;
    font-weight: bold;
}

.pl-ml {
    color: #693a17;
}

.pl-mh,.pl-mh .pl-en,.pl-ms {
    color: #1d3e81;
    font-weight: bold;
}

.pl-mq {
    color: #008080;
}

.pl-mi {
    color: #333;
    font-style: italic;
}

.pl-mb {
    color: #333;
    font-weight: bold;
}

.pl-md,.pl-mdhf {
    background-color: #ffecec;
    color: #bd2c00;
}

.pl-mdht,.pl-mi1 {
    background-color: #eaffea;
    color: #55a532;
}

.pl-mdr {
    color: #795da3;
    font-weight: bold;
}

.pl-mo {
    color: #1d3e81;
}
.task-list {
padding-left:10px;
margin-bottom:0;
}

.task-list li {
    margin-left: 20px;
}

.task-list-item {
list-style-type:none;
padding-left:10px;
}

.task-list-item label {
font-weight:400;
}

.task-list-item.enabled label {
cursor:pointer;
}

.task-list-item+.task-list-item {
margin-top:3px;
}

.task-list-item-checkbox {
display:inline-block;
margin-left:-20px;
margin-right:3px;
vertical-align:1px;
}
</style>
</head>
<body>
<h1>Deprecated Features</h1>

<p>As the <code>jsoncons</code> library has evolved, names have sometimes changed. To ease transition, jsoncons deprecates the old names but continues to support many of them. The deprecated names can be suppressed by defining macro JSONCONS_NO_DEPRECATED, which is recommended for new code.</p>

<p>In the table, <em>✓</em> indicates that the old name is still supported.</p>

<table>
<thead>
<tr>
<th>Category</th>
<th>Old name, now deprecated</th>
<th><em>✓</em></th>
<th>Recommendation</th>
</tr>
</thead>
<tbody>
<tr>
<td>class json</td>
<td>add(size_t index, const json&amp; val)</td>
<td><em>✓</em></td>
<td>Use add(array_iterator pos, const json&amp; val)</td>
</tr>
<tr>
<td></td>
<td>add(size_t index, json&amp;&amp; val)</td>
<td><em>✓</em></td>
<td>Use add(array_iterator pos, json&amp;&amp; val)</td>
</tr>
<tr>
<td></td>
<td>remove_range(size_t from_index, size_t to_index)</td>
<td><em>✓</em></td>
<td>erase(array_iterator first, array_iterator last)</td>
</tr>
<tr>
<td></td>
<td>remove(const std::string&amp; name)</td>
<td><em>✓</em></td>
<td>Use erase(const std::string&amp; name)</td>
</tr>
<tr>
<td></td>
<td>parse(std::istream&amp; is)</td>
<td><em>✓</em></td>
<td>Use parse_stream(std::istream&amp; is)</td>
</tr>
<tr>
<td></td>
<td>parse(std::istream&amp; is, parse_error_handler&amp; err_handler)</td>
<td><em>✓</em></td>
<td>Use parse_stream(std::istream&amp; is, parse_error_handler&amp; err_handler)</td>
</tr>
<tr>
<td></td>
<td>as_int() const</td>
<td><em>✓</em></td>
<td>Use <code>as&lt;int&gt;</code>
</td>
</tr>
<tr>
<td></td>
<td>as_uint() const</td>
<td><em>✓</em></td>
<td>Use <code>as&lt;unsigned int&gt;</code>
</td>
</tr>
<tr>
<td></td>
<td>as_long() const</td>
<td><em>✓</em></td>
<td>Use <code>as&lt;long&gt;</code>
</td>
</tr>
<tr>
<td></td>
<td>as_ulong() const</td>
<td><em>✓</em></td>
<td>Use <code>as&lt;unsigned long&gt;</code>
</td>
</tr>
<tr>
<td></td>
<td>as_longlong() const</td>
<td><em>✓</em></td>
<td>Use as_integer or <code>as&lt;long long&gt;</code>
</td>
</tr>
<tr>
<td></td>
<td>as_ulonglong() const</td>
<td><em>✓</em></td>
<td>Use as_uinteger or <code>as&lt;unsigned long long&gt;</code>
</td>
</tr>
<tr>
<td></td>
<td>is_longlong() const</td>
<td><em>✓</em></td>
<td>Use is_integer() or is()</td>
</tr>
<tr>
<td></td>
<td>is_ulonglong() const</td>
<td><em>✓</em></td>
<td>Use is_uinteger() or is()</td>
</tr>
<tr>
<td></td>
<td>is_numeric() const</td>
<td><em>✓</em></td>
<td>Use <code>is_number()</code>
</td>
</tr>
<tr>
<td></td>
<td>remove_member(const std::string&amp; name)</td>
<td><em>✓</em></td>
<td>Use erase(const std::string&amp; name)</td>
</tr>
<tr>
<td></td>
<td>const json&amp; get(const std::string&amp; name) const</td>
<td><em>✓</em></td>
<td>Use const json get(const std::string&amp; name, T default_val) const with default <code>json::null_type()</code>
</td>
</tr>
<tr>
<td></td>
<td>has_member(const std::string&amp; name) const</td>
<td><em>✓</em></td>
<td>Use count(const std::string&amp; name)</td>
</tr>
<tr>
<td></td>
<td>begin_members()</td>
<td><em>✓</em></td>
<td>Use members().begin()</td>
</tr>
<tr>
<td></td>
<td>begin_members() const</td>
<td><em>✓</em></td>
<td>Use members().begin()</td>
</tr>
<tr>
<td></td>
<td>end_members()</td>
<td><em>✓</em></td>
<td>Use members().end()</td>
</tr>
<tr>
<td></td>
<td>end_members() const</td>
<td><em>✓</em></td>
<td>Use members().end()</td>
</tr>
<tr>
<td></td>
<td>begin_elements()</td>
<td><em>✓</em></td>
<td>Use elements().begin()</td>
</tr>
<tr>
<td></td>
<td>begin_elements() const</td>
<td><em>✓</em></td>
<td>Use elements().begin()</td>
</tr>
<tr>
<td></td>
<td>end_elements()</td>
<td><em>✓</em></td>
<td>Use elements().end()</td>
</tr>
<tr>
<td></td>
<td>end_elements() const</td>
<td><em>✓</em></td>
<td>Use elements().end()</td>
</tr>
<tr>
<td></td>
<td>is_empty() const</td>
<td><em>✓</em></td>
<td>Use <code>empty()</code>
</td>
</tr>
<tr>
<td></td>
<td>parse_string(const std::string&amp; s)</td>
<td><em>✓</em></td>
<td>parse(const std::string&amp; s)</td>
</tr>
<tr>
<td></td>
<td>parse_string(const std::string&amp; s,parse_error_handler&amp; err_handler)</td>
<td><em>✓</em></td>
<td>Use parse(const std::string&amp; s,parse_error_handler&amp; err_handler)</td>
</tr>
<tr>
<td></td>
<td>resize_array(size_t n)</td>
<td><em>✓</em></td>
<td>resize(size_t n)</td>
</tr>
<tr>
<td></td>
<td>resize_array(size_t n, const json&amp; val)</td>
<td><em>✓</em></td>
<td>Use resize(size_t n, const json&amp; val)</td>
</tr>
<tr>
<td>json member constants</td>
<td>null</td>
<td></td>
<td>Use assignment to <code>jsoncons::null_type()</code> or <code>json::null_type()</code>
</td>
</tr>
<tr>
<td></td>
<td>an_object</td>
<td></td>
<td>Use the default constructor <code>json()</code> instead.</td>
</tr>
<tr>
<td></td>
<td>an_array</td>
<td></td>
<td>Use assignment to <code>json::array()</code> or <code>json::make_array()</code> instead.</td>
</tr>
<tr>
<td>class json_deserializer</td>
<td>json&amp; root()</td>
<td><em>✓</em></td>
<td>json get_result()</td>
</tr>
<tr>
<td>class json_reader</td>
<td>read()</td>
<td><em>✓</em></td>
<td>Use read_next()</td>
</tr>
<tr>
<td></td>
<td>max_depth() const</td>
<td><em>✓</em></td>
<td>Use max_nesting_depth() const</td>
</tr>
<tr>
<td></td>
<td>max_depth(depth)</td>
<td><em>✓</em></td>
<td>Use max_nesting_depth() const</td>
</tr>
<tr>
<td></td>
<td>json_input_handler&amp; parent()</td>
<td><em>✓</em></td>
<td>Use json_input_handler&amp; input_handler()</td>
</tr>
<tr>
<td>json_input_handler class</td>
<td>do_longlong_value(long long value, const parsing_context&amp; context)</td>
<td></td>
<td>Override do_integer_value(int64_t value, const parsing_context&amp; context)</td>
</tr>
<tr>
<td></td>
<td>do_ulonglong_value(unsigned long long value, const parsing_context&amp; context)</td>
<td></td>
<td>Removed, override do_uinteger_value(uint64_t value, const parsing_context&amp; context)</td>
</tr>
<tr>
<td></td>
<td>do_double_value(double value, const basic_parsing_context&amp; context)</td>
<td></td>
<td>Removed, override do_double_value(double value, uint8_t precision, const basic_parsing_context&amp; context)</td>
</tr>
<tr>
<td>json_output_handler class</td>
<td>do_longlong_value(long long value)</td>
<td></td>
<td>Removed, override do_integer_value(int64_t value)</td>
</tr>
<tr>
<td></td>
<td>do_ulonglong_value(unsigned long long value)</td>
<td></td>
<td>Removed, override do_uinteger_value(uint64_t value)</td>
</tr>
<tr>
<td></td>
<td>do_double_value(double value)</td>
<td></td>
<td>Removed, override do_double_value(double value, uint8_t precision)</td>
</tr>
<tr>
<td>basic_parsing_context</td>
<td>last_char()</td>
<td><em>✓</em></td>
<td>Use current_char()</td>
</tr>
<tr>
<td>json_filter</td>
<td>parent()</td>
<td><em>✓</em></td>
<td>Use input_handler()</td>
</tr>
<tr>
<td>csv_parameters</td>
<td><code>header(std::string value)</code></td>
<td><em>✓</em></td>
<td>Use <code>column_names(std::vector&lt;std::string&gt;&gt; value)</code>
</td>
</tr>
<tr>
<td></td>
<td><code>data_types()</code></td>
<td><em>✓</em></td>
<td>Use <code>column_types()</code>
</td>
</tr>
<tr>
<td></td>
<td><code>data_types(std::string value)</code></td>
<td><em>✓</em></td>
<td>Use <code>column_types(std::vector&lt;std::string&gt;&gt; value)</code>
</td>
</tr>
</tbody>
</table>
</body>
</html>
<!-- This document was created with MarkdownPad, the Markdown editor for Windows (http://markdownpad.com) -->
