/*
|
*
|
* Copyright (c) 1994
|
* Hewlett-Packard Company
|
*
|
* Permission to use, copy, modify, distribute and sell this software
|
* and its documentation for any purpose is hereby granted without fee,
|
* provided that the above copyright notice appear in all copies and
|
* that both that copyright notice and this permission notice appear
|
* in supporting documentation. Hewlett-Packard Company makes no
|
* representations about the suitability of this software for any
|
* purpose. It is provided "as is" without express or implied warranty.
|
*
|
*
|
* Copyright (c) 1996
|
* Silicon Graphics Computer Systems, Inc.
|
*
|
* Permission to use, copy, modify, distribute and sell this software
|
* and its documentation for any purpose is hereby granted without fee,
|
* provided that the above copyright notice appear in all copies and
|
* that both that copyright notice and this permission notice appear
|
* in supporting documentation. Silicon Graphics makes no
|
* representations about the suitability of this software for any
|
* purpose. It is provided "as is" without express or implied warranty.
|
*/
|
|
/*
|
Copyright (c) 2007 Lao wen bo
|
|
This software is provided 'as-is', without any express or implied
|
warranty. In no event will the authors be held liable for any damages
|
arising from the use of this software.
|
|
Permission is granted to anyone to use this software for any purpose,
|
including commercial applications, and to alter it and redistribute it
|
freely, subject to the following restrictions:
|
|
1. The origin of this software must not be misrepresented; you must not
|
claim that you wrote the original software. If you use this software
|
in a product, an acknowledgment in the product documentation would be
|
appreciated but is not required.
|
|
2. Altered source versions must be plainly marked as such, and must not be
|
misrepresented as being the original software.
|
|
3. This notice may not be removed or altered from any source
|
distribution.
|
|
Lao wen bo
|
viewpl(at)gmail.com
|
*/
|
|
/*
|
NOTE: This is an internal header file, You should not attempt to use it directly.
|
*/
|
|
#ifndef _C_PAIR_H
|
#define _C_PAIR_H
|
|
#include "c_iterator.h"
|
#include "c_memory.h"
|
|
#define c_pair _c_pair
|
#define c_ppair _c_ppair
|
#define c_iter_bool_pair _c_iter_bool_pair
|
#define c_piter_bool_pair _c_piter_bool_pair
|
#define c_iter_iter_pair _c_iter_iter_pair
|
#define c_piter_iter_pair _c_piter_iter_pair
|
#define c_make_pair _c_make_pair
|
#define c_make_iter_bool_pair _c_make_iter_bool_pair
|
#define c_make_iter_iter_pair _c_make_iter_iter_pair
|
|
typedef value_type first_type;
|
typedef value_type second_type;
|
|
typedef struct c_pair c_pair, * c_ppair;
|
typedef int (*PAIR_COMPARER)(c_ppair, c_ppair);
|
|
struct c_pair
|
{
|
first_type first;
|
second_type second;
|
};
|
|
|
typedef struct c_iter_bool_pair c_iter_bool_pair, c_piter_bool_pair;
|
|
struct c_iter_bool_pair
|
{
|
c_iterator first;
|
c_bool second;
|
};
|
|
|
typedef struct c_iter_iter_pair c_iter_iter_pair, c_piter_iter_pair;
|
|
struct c_iter_iter_pair
|
{
|
c_iterator first;
|
c_iterator second;
|
};
|
|
|
c_pair c_make_pair(const value_type x, const value_type y);
|
c_iter_bool_pair c_make_iter_bool_pair(c_iterator x, c_bool y);
|
c_iter_iter_pair c_make_iter_iter_pair(c_iterator x, c_iterator y);
|
|
|
|
|
#endif /* _C_PAIR_H */
|