当前位置: 首页>>代码示例>>C++>>正文


C++ buffer::append方法代码示例

本文整理汇总了C++中buffer::append方法的典型用法代码示例。如果您正苦于以下问题:C++ buffer::append方法的具体用法?C++ buffer::append怎么用?C++ buffer::append使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在buffer的用法示例。


在下文中一共展示了buffer::append方法的10个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。

示例1: append

    static void append(buffer &json, const char *key, const std::string &value)
    {
        json.append("\"" , 1);
        json.append( key, strlen(key) ); //"key"
        json.append("\":", 2);

        append(json, value);
    }
开发者ID:jkhoogland,项目名称:jsonpack,代码行数:8,代码来源:strings.hpp

示例2: append

    static void append(buffer &json, const Seq &value)
    {
        json.append("[", 1);

        for(const auto &v : value)
        {
            json_traits<type_t>::append(json, v);
        }
        json.erase_last_comma();
        json.append("],", 2);
    }
开发者ID:kylemanna,项目名称:jsonpack,代码行数:11,代码来源:sequences.hpp

示例3: append

 static void append(buffer &json, const char &value,
                    const bool&, const unsigned&, unsigned&)
 {
     if( std::isgraph(value) )
     {
         char c[4] = {'"', value, '"', ','};
         json.append(c, 4);
     }
     else
         json.append("null,", 5);
 }
开发者ID:ymglez,项目名称:jsonpack,代码行数:11,代码来源:integers.hpp

示例4: to_string

bool xml_document::to_string(buffer& buf, bool pretty_print, bool nul_terminate) const
{
	if (_M_used == 0) {
		return nul_terminate ? buf.append((char) 0) : true;
	}

	if (!to_string(buf, pretty_print, _M_nodes, 0)) {
		return false;
	}

	return nul_terminate ? buf.append((char) 0) : true;
}
开发者ID:guidoreina,项目名称:gweb-plusplus,代码行数:12,代码来源:xml_document.cpp

示例5: append

 static void append(buffer &json, const std::string &value)
 {
     if(! value.empty() )    //:"value"
     {
         json.append("\"", 1);
         json.append( value.c_str(), value.length() );
         json.append("\",", 2);
     }
     else                    //:null
     {
         json.append( "null,", 5);
     }
 }
开发者ID:kylemanna,项目名称:jsonpack,代码行数:13,代码来源:strings.hpp

示例6:

static inline void make_json(const bool &pretty, const unsigned &indent, unsigned &level,
                             buffer &json, const std::string &keys, const T& val, const Types& ...values)
{
    std::string::size_type pos = keys.find(',');

    if(pretty)
    {
        json.append("\n", 1);
        json.append(' ', indent * level);
    }
    type::json_traits<T>::append(json, keys.substr(0, pos).c_str() , val, pretty, indent, level);

    make_json(pretty, indent, level, json, keys.substr(pos+1, keys.length()-1 ).c_str() ,values...);
}
开发者ID:ymglez,项目名称:jsonpack,代码行数:14,代码来源:serializer_cpp11.hpp

示例7: node_to_string

bool xml_document::node_to_string(buffer& buf, bool pretty_print, const struct node* node, unsigned depth) const
{
	if (pretty_print) {
		for (unsigned i = 0; i < depth; i++) {
			if (!buf.append('\t')) {
				return false;
			}
		}
	}

	switch (node->type) {
		case DOCTYPE_NODE:
			return buf.format("<!DOCTYPE %.*s>", node->len, _M_buf.data() + node->text);
		case PROCESSING_INSTRUCTION_NODE:
			return buf.format("<?%.*s?>", node->len, _M_buf.data() + node->text);
		case COMMENT_NODE:
			return buf.format("<!-- %.*s -->", node->len, _M_buf.data() + node->text);
		case ELEMENT_NODE:
			if (!buf.format("<%.*s", node->len, _M_buf.data() + node->text)) {
				return false;
			}

			if (node->attributes) {
				const char* name;
				size_t namelen;
				const char* value;
				size_t valuelen;

				for (size_t i = 0; node->attributes->get(i, name, namelen, value, valuelen); i++) {
					char quotes = (memchr(value, '"', valuelen)) ? '\'' : '"';
					if (!buf.format(" %.*s=%c%.*s%c", namelen, name, quotes, valuelen, value, quotes)) {
						return false;
					}
				}
			}

			if (node->child > 0) {
				return buf.append('>');
			} else {
				return buf.append("/>", 2);
			}

		case TEXT_NODE:
			return buf.format("%.*s", node->len, _M_buf.data() + node->text);
		default:
			return false;
	}
}
开发者ID:guidoreina,项目名称:gweb-plusplus,代码行数:48,代码来源:xml_document.cpp

示例8: if

stream::state_t
socks5_proxy::send( buffer &in_buf, buffer &out_buf )
{
	if ( m_state == stream::state_t::handshaking )
	{
		if ( !m_sent_greeting )
		{
			if ( proxy::manager::shared().authorization().size() > 0 )
			{
				out_buf.size( 4 );
			
				out_buf.put( 0, 0x05 );
				out_buf.put( 1, 0x02 );
				out_buf.put( 2, 0x00 );
				out_buf.put( 3, 0x02 );
			}
			else
			{
				out_buf.size( 3 );
				
				out_buf.put( 0, 0x05 );
				out_buf.put( 1, 0x01 );
				out_buf.put( 2, 0x00 );
			}
			
			m_sent_greeting = true;
		}
		
		m_send_queue.append( in_buf );
		
		m_state5 = waiting_for_opening_response;
		m_state = stream::state_t::connected;
	}
	else if ( m_state5 != connected )
	{
		m_send_queue.append( in_buf );
	}
	else
	{
		out_buf = std::move( in_buf );
	}
	
	return m_state;
}
开发者ID:porchdog,项目名称:nodeoze,代码行数:44,代码来源:proxy.cpp

示例9:

JSONPACK_API_BEGIN_NAMESPACE


////============================== MAKE_JSON ==============================================

static inline void make_json(buffer &json, const std::string &UNUSED(key) )
{
    json.erase_last_comma();
    json.append("}\0", 2);
}
开发者ID:jkhoogland,项目名称:jsonpack,代码行数:10,代码来源:serializer_cpp11.hpp

示例10: list_cases_on

unsigned list_cases_on(vm_obj const & o, buffer<vm_obj> & data) {
    if (is_simple(o)) {
        return 0;
    } else if (is_constructor(o)) {
        data.append(csize(o), cfields(o));
        return 1;
    } else {
        lean_assert(is_external(o));
        if (auto l = dynamic_cast<vm_list<name>*>(to_external(o))) {
            return list_cases_on_core(l->m_val, data);
        } else if (auto l = dynamic_cast<vm_list<expr>*>(to_external(o))) {
            return list_cases_on_core(l->m_val, data);
        } else if (auto l = dynamic_cast<vm_list<level>*>(to_external(o))) {
            return list_cases_on_core(l->m_val, data);
        } else {
            lean_unreachable();
        }
    }
}
开发者ID:soonhokong,项目名称:lean-osx,代码行数:19,代码来源:vm_list.cpp


注:本文中的buffer::append方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。