/*
 * Copyright (C) 2007-2023 Xagasoft, All rights reserved.
 *
 * This file is part of the libbu++ library and is released under the
 * terms of the license contained in the file LICENSE.
 */

#include "bu/archivebase.h"
#include "bu/blob.h"

Bu::ArchiveBase::ArchiveBase()
{
}

Bu::ArchiveBase::~ArchiveBase()
{
}

Bu::ArchiveBase &Bu::operator<<( Bu::ArchiveBase &ar, bool p)
{
    ar.write( &p, sizeof(p) );
    return ar;
}

Bu::ArchiveBase &Bu::operator<<( Bu::ArchiveBase &ar, char p)
{
    ar.write( &p, sizeof(p) );
    return ar;
}

Bu::ArchiveBase &Bu::operator<<( Bu::ArchiveBase &ar, signed char p)
{
    ar.write( &p, sizeof(p) );
    return ar;
}

Bu::ArchiveBase &Bu::operator<<( Bu::ArchiveBase &ar, unsigned char p)
{
    ar.write( &p, sizeof(p) );
    return ar;
}

Bu::ArchiveBase &Bu::operator<<( Bu::ArchiveBase &ar, signed short p)
{
    ar.write( &p, sizeof(p) );
    return ar;
}

Bu::ArchiveBase &Bu::operator<<( Bu::ArchiveBase &ar, unsigned short p)
{
    ar.write( &p, sizeof(p) );
    return ar;
}

Bu::ArchiveBase &Bu::operator<<( Bu::ArchiveBase &ar, signed int p)
{
    ar.write( &p, sizeof(p) );
    return ar;
}

Bu::ArchiveBase &Bu::operator<<( Bu::ArchiveBase &ar, unsigned int p)
{
    ar.write( &p, sizeof(p) );
    return ar;
}

Bu::ArchiveBase &Bu::operator<<( Bu::ArchiveBase &ar, signed long p)
{
    ar.write( &p, sizeof(p) );
    return ar;
}

Bu::ArchiveBase &Bu::operator<<( Bu::ArchiveBase &ar, unsigned long p)
{
    ar.write( &p, sizeof(p) );
    return ar;
}

Bu::ArchiveBase &Bu::operator<<( Bu::ArchiveBase &ar, signed long long p)
{
    ar.write( &p, sizeof(p) );
    return ar;
}

Bu::ArchiveBase &Bu::operator<<( Bu::ArchiveBase &ar, unsigned long long p)
{
    ar.write( &p, sizeof(p) );
    return ar;
}

Bu::ArchiveBase &Bu::operator<<( Bu::ArchiveBase &ar, float p)
{
    ar.write( &p, sizeof(p) );
    return ar;
}

Bu::ArchiveBase &Bu::operator<<( Bu::ArchiveBase &ar, double p)
{
    ar.write( &p, sizeof(p) );
    return ar;
}

Bu::ArchiveBase &Bu::operator<<( Bu::ArchiveBase &ar, long double p)
{
    ar.write( &p, sizeof(p) );
    return ar;
}

Bu::ArchiveBase &Bu::operator>>( Bu::ArchiveBase &ar, bool &p)
{
    ar.read( &p, sizeof(p) );
    return ar;
}

Bu::ArchiveBase &Bu::operator>>( Bu::ArchiveBase &ar, char &p)
{
    ar.read( &p, sizeof(p) );
    return ar;
}

Bu::ArchiveBase &Bu::operator>>( Bu::ArchiveBase &ar, signed char &p)
{
    ar.read( &p, sizeof(p) );
    return ar;
}

Bu::ArchiveBase &Bu::operator>>( Bu::ArchiveBase &ar, unsigned char &p)
{
    ar.read( &p, sizeof(p) );
    return ar;
}

Bu::ArchiveBase &Bu::operator>>( Bu::ArchiveBase &ar, signed short &p)
{
    ar.read( &p, sizeof(p) );
    return ar;
}

Bu::ArchiveBase &Bu::operator>>( Bu::ArchiveBase &ar, unsigned short &p)
{
    ar.read( &p, sizeof(p) );
    return ar;
}

Bu::ArchiveBase &Bu::operator>>( Bu::ArchiveBase &ar, signed int &p)
{
    ar.read( &p, sizeof(p) );
    return ar;
}

Bu::ArchiveBase &Bu::operator>>( Bu::ArchiveBase &ar, unsigned int &p)
{
    ar.read( &p, sizeof(p) );
    return ar;
}

Bu::ArchiveBase &Bu::operator>>( Bu::ArchiveBase &ar, signed long &p)
{
    ar.read( &p, sizeof(p) );
    return ar;
}

Bu::ArchiveBase &Bu::operator>>( Bu::ArchiveBase &ar, unsigned long &p)
{
    ar.read( &p, sizeof(p) );
    return ar;
}

Bu::ArchiveBase &Bu::operator>>( Bu::ArchiveBase &ar, signed long long &p)
{
    ar.read( &p, sizeof(p) );
    return ar;
}

Bu::ArchiveBase &Bu::operator>>( Bu::ArchiveBase &ar, unsigned long long &p)
{
    ar.read( &p, sizeof(p) );
    return ar;
}

Bu::ArchiveBase &Bu::operator>>( Bu::ArchiveBase &ar, float &p)
{
    ar.read( &p, sizeof(p) );
    return ar;
}

Bu::ArchiveBase &Bu::operator>>( Bu::ArchiveBase &ar, double &p)
{
    ar.read( &p, sizeof(p) );
    return ar;
}

Bu::ArchiveBase &Bu::operator>>( Bu::ArchiveBase &ar, long double &p)
{
    ar.read( &p, sizeof(p) );
    return ar;
}

