bitunion.hh (12451:5a5024ab0364) bitunion.hh (12453:424595e0a14e)
1/*
2 * Copyright (c) 2007-2008 The Regents of The University of Michigan
3 * All rights reserved.
4 *
5 * Redistribution and use in source and binary forms, with or without
6 * modification, are permitted provided that the following conditions are
7 * met: redistributions of source code must retain the above copyright
8 * notice, this list of conditions and the following disclaimer;

--- 374 unchanged lines hidden (view full) ---

383 {
384 typedef typename BitUnionType<T>::__StorageType Type;
385 };
386}
387
388template <typename T>
389using BitUnionBaseType = typename BitfieldBackend::BitUnionBaseType<T>::Type;
390
1/*
2 * Copyright (c) 2007-2008 The Regents of The University of Michigan
3 * All rights reserved.
4 *
5 * Redistribution and use in source and binary forms, with or without
6 * modification, are permitted provided that the following conditions are
7 * met: redistributions of source code must retain the above copyright
8 * notice, this list of conditions and the following disclaimer;

--- 374 unchanged lines hidden (view full) ---

383 {
384 typedef typename BitUnionType<T>::__StorageType Type;
385 };
386}
387
388template <typename T>
389using BitUnionBaseType = typename BitfieldBackend::BitUnionBaseType<T>::Type;
390
391namespace std
392{
393 template <typename T>
394 struct hash;
395
396 template <typename T>
397 struct hash<BitUnionType<T> > : public hash<BitUnionBaseType<T> >
398 {
399 size_t
400 operator() (const BitUnionType<T> &val) const
401 {
402 return hash<BitUnionBaseType<T> >::operator()(val);
403 }
404 };
405}
406
391#endif // __BASE_BITUNION_HH__
407#endif // __BASE_BITUNION_HH__