// Copyright (C) 2016 and later: Unicode, Inc. and others.
// License & terms of use: http://www.unicode.org/copyright.html
/*
*******************************************************************************
*
*   Copyright (C) 1999-2001, International Business Machines
*   Corporation and others.  All Rights Reserved.
*
*******************************************************************************
*   file name:  utf32.h
*   encoding:   US-ASCII
*   tab size:   8 (not used)
*   indentation:4
*
*   created on: 1999sep20
*   created by: Markus W. Scherer
*/
/**
 * \file
 * \brief C API: UTF-32 macros
 *
 * This file is obsolete and its contents moved to utf_old.h.
 * See utf_old.h and Jitterbug 2150 and its discussion on the ICU mailing list
 * in September 2002.
 */
