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


C++ address::is_v6方法代码示例

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


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

示例1: external_address

	address external_ip::external_address(address const& ip) const
	{
		address ext = m_vote_group[ip.is_v6()].external_address();
#if TORRENT_USE_IPV6
		if (ip.is_v6() && ext == address_v4()) return address_v6();
#endif
		return ext;
	}
开发者ID:EricMyers47,项目名称:OpenSpace,代码行数:8,代码来源:ip_voter.cpp

示例2: add_rule

	void ip_filter::add_rule(address first, address last, int flags)
	{
		if (first.is_v4())
		{
			assert(last.is_v4());
			m_filter4.add_rule(first.to_v4(), last.to_v4(), flags);
		}
		else if (first.is_v6())
		{
			assert(last.is_v6());
			m_filter6.add_rule(first.to_v6(), last.to_v6(), flags);
		}
		else
			assert(false);
	}
开发者ID:Sukumi,项目名称:python-libtorrent,代码行数:15,代码来源:ip_filter.cpp

示例3: access

	int ip_filter::access(address const& addr) const
	{
		if (addr.is_v4())
			return m_filter4.access(addr.to_v4());
		assert(addr.is_v6());
		return m_filter6.access(addr.to_v6());
	}
开发者ID:Sukumi,项目名称:python-libtorrent,代码行数:7,代码来源:ip_filter.cpp

示例4: address_cast

inline T address_cast(const address& addr,
                      typename enable_if<is_same<T, address_v6>::value>::type* = 0)
{
    if (!addr.is_v6())
        throw bad_address_cast();
    return get_v6_helper(addr);
}
开发者ID:ChineseDr,项目名称:mongo,代码行数:7,代码来源:address.hpp

示例5: in_subnet

	bool in_subnet(address const& addr, ip_interface const& iface)
	{
		if (addr.is_v4() != iface.interface_address.is_v4()) return false;
		// since netmasks seems unreliable for IPv6 interfaces
		// (MacOS X returns AF_INET addresses as bitmasks) assume
		// that any IPv6 address belongs to the subnet of any
		// interface with an IPv6 address
		if (addr.is_v6()) return true;

		return (addr.to_v4().to_ulong() & iface.netmask.to_v4().to_ulong())
			== (iface.interface_address.to_v4().to_ulong() & iface.netmask.to_v4().to_ulong());
	}
开发者ID:Krinkelss,项目名称:libtorrent,代码行数:12,代码来源:enum_net.cpp

示例6: write_address

		void write_address(address const& a, OutIt& out)
		{
			if (a.is_v4())
			{
				write_uint32(a.to_v4().to_ulong(), out);
			}
			else if (a.is_v6())
			{
				address_v6::bytes_type bytes
					= a.to_v6().to_bytes();
				std::copy(bytes.begin(), bytes.end(), out);
			}
		}
开发者ID:huyang819,项目名称:cdn-partner,代码行数:13,代码来源:socket.hpp

示例7: address_to_bytes

    std::string address_to_bytes(address const& a)
    {
#if LIBED2K_USE_IPV6
        if (a.is_v6())
        {
            address_v6::bytes_type b = a.to_v6().to_bytes();
            return std::string((char*)&b[0], b.size());
        }
        else
#endif
        {
            address_v4::bytes_type b = a.to_v4().to_bytes();
            return std::string((char*)&b[0], b.size());
        }
    }
开发者ID:ST3ALth,项目名称:libed2k,代码行数:15,代码来源:socket_io.cpp

示例8: write_address

		void write_address(address const& a, OutIt&& out)
		{
#if TORRENT_USE_IPV6
			if (a.is_v4())
			{
#endif
				write_uint32(a.to_v4().to_ulong(), out);
#if TORRENT_USE_IPV6
			}
			else if (a.is_v6())
			{
				for (auto b : a.to_v6().to_bytes())
					write_uint8(b, out);
			}
#endif
		}
开发者ID:Chocobo1,项目名称:libtorrent,代码行数:16,代码来源:socket_io.hpp

示例9: write_address

		void write_address(address const& a, OutIt& out)
		{
#if TORRENT_USE_IPV6
			if (a.is_v4())
			{
#endif
				write_uint32(a.to_v4().to_ulong(), out);
#if TORRENT_USE_IPV6
			}
			else if (a.is_v6())
			{
				address_v6::bytes_type bytes
					= a.to_v6().to_bytes();
				std::copy(bytes.begin(), bytes.end(), out);
			}
#endif
		}
开发者ID:Krinkelss,项目名称:libtorrent,代码行数:17,代码来源:socket.hpp

示例10: write_address

		void write_address(address const& a, OutIt& out)
		{
#if TORRENT_USE_IPV6
			if (a.is_v4())
			{
#endif
				write_uint32(a.to_v4().to_ulong(), out);
#if TORRENT_USE_IPV6
			}
			else if (a.is_v6())
			{
				typedef address_v6::bytes_type bytes_t;
				bytes_t bytes = a.to_v6().to_bytes();
				for (bytes_t::iterator i = bytes.begin()
					, end(bytes.end()); i != end; ++i)
					write_uint8(*i, out);
			}
#endif
		}
开发者ID:Meonardo,项目名称:libtorrent,代码行数:19,代码来源:socket_io.hpp

示例11: ipport_to_string

std::string ipport_to_string(address const& addr,int port)
{
	error_code ec;
	std::string straddr = addr.to_string(ec);
	std::string ret;
	ret.reserve(straddr.length()+10);
	if (addr.is_v6())
	{
		ret += '[';
		ret += straddr;
		ret += ']';
		ret += ':';
		ret += boost::lexical_cast<std::string>(port);
	}
	else
	{
		ret += straddr;
		ret += ':';
		ret += boost::lexical_cast<std::string>(port);
	}
	return ret;
}
开发者ID:JingSao,项目名称:p2engine,代码行数:22,代码来源:socket_utility.cpp

示例12: cast_vote

	bool external_ip::cast_vote(address const& ip, int source_type, address const& source)
	{
		return m_vote_group[ip.is_v6()].cast_vote(ip, source_type, source);
	}
开发者ID:EricMyers47,项目名称:OpenSpace,代码行数:4,代码来源:ip_voter.cpp


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