62  typedef typename DeviceType::execution_space execution_space;
 
   63  typedef typename DeviceType::memory_space memory_space;
 
   64  typedef Kokkos::Device<execution_space, memory_space> device_type;
 
   67  typedef typename hash_type::offset_type offset_type;
 
   76  typedef typename Kokkos::View<
const offset_type*, Kokkos::LayoutLeft,
 
   85  typedef typename Kokkos::View<const Kokkos::pair<KeyType, ValueType>*,
 
   86                                Kokkos::LayoutLeft, device_type>
 
   96    return contiguousValues_;
 
  103  typedef Kokkos::View<const KeyType*, Kokkos::LayoutLeft, device_type> 
keys_type;
 
  210                 const Teuchos::ArrayView<const ValueType>& 
vals);
 
  212  template <
class K, 
class V, 
class D>
 
  220  template <
class InDeviceType>
 
  222                 typename std::enable_if<!std::is_same<DeviceType, InDeviceType>::value, 
int>::type* = 
NULL) {
 
  223    using Kokkos::ViewAllocateWithoutInitializing;
 
  245    Kokkos::deep_copy(execution_space(), 
val, src.val_);
 
  249    this->minKey_                  = src.minKey_;
 
  250    this->maxKey_                  = src.maxKey_;
 
  251    this->minVal_                  = src.minVal_;
 
  252    this->maxVal_                  = src.maxVal_;
 
  253    this->firstContigKey_          = src.firstContigKey_;
 
  254    this->lastContigKey_           = src.lastContigKey_;
 
  255    this->contiguousValues_        = src.contiguousValues_;
 
  256    this->checkedForDuplicateKeys_ = src.checkedForDuplicateKeys_;
 
  257    this->hasDuplicateKeys_        = src.hasDuplicateKeys_;
 
 
  262    const offset_type 
size = this->getSize();
 
  266      return Tpetra::Details::OrdinalTraits<ValueType>::invalid();
 
  271    if (this->hasContiguousValues() &&
 
  272        key >= firstContigKey_ && 
key <= lastContigKey_) {
 
  276    const typename hash_type::result_type 
hashVal =
 
  277        hash_type::hashFunc(
key, 
size);
 
  279    const offset_type start = ptr_[
hashVal];
 
  281    for (offset_type 
k = start; 
k < 
end; ++
k) {
 
  283        return val_[
k].second;
 
  289    return Tpetra::Details::OrdinalTraits<ValueType>::invalid();
 
 
  301    if (this->hasContiguousValues()) {
 
  302      return val_.extent(0) + 
static_cast<offset_type
>(lastContigKey_ - firstContigKey_);
 
  304      return val_.extent(0);
 
 
  380           const Teuchos::EVerbosityLevel 
verbLevel =
 
  381               Teuchos::Describable::verbLevel_default) 
const;
 
  395#if KOKKOS_VERSION >= 40799 
  396  KeyType minKey_ = ::KokkosKernels::ArithTraits<KeyType>::max();
 
  398  KeyType minKey_         = ::Kokkos::ArithTraits<KeyType>::max();
 
  406#if KOKKOS_VERSION >= 40799 
  407  KeyType maxKey_ = ::KokkosKernels::ArithTraits<KeyType>::max();
 
  409  KeyType maxKey_         = ::Kokkos::ArithTraits<KeyType>::max();
 
  416#if KOKKOS_VERSION >= 40799 
  417  ValueType minVal_ = ::KokkosKernels::ArithTraits<ValueType>::max();
 
  419  ValueType minVal_       = ::Kokkos::ArithTraits<ValueType>::max();
 
  426#if KOKKOS_VERSION >= 40799 
  438#if KOKKOS_VERSION >= 40799 
  439  KeyType firstContigKey_ = ::KokkosKernels::ArithTraits<KeyType>::max();
 
  441  KeyType firstContigKey_ = ::Kokkos::ArithTraits<KeyType>::max();
 
  450#if KOKKOS_VERSION >= 40799 
  451  KeyType lastContigKey_ = ::KokkosKernels::ArithTraits<KeyType>::max();
 
  453  KeyType lastContigKey_  = ::Kokkos::ArithTraits<KeyType>::max();
 
  462  bool contiguousValues_ = 
true;
 
  470  bool checkedForDuplicateKeys_ = 
true;
 
  475  bool hasDuplicateKeys_ = 
false;
 
  481  bool checkForDuplicateKeys() 
const;
 
  485    return ptr_.extent(0) == 0 ? 
static_cast<offset_type
>(0) : 
static_cast<offset_type>(ptr_.extent(0) - 1);
 
  488  typedef Kokkos::View<
const KeyType*,
 
  489                       typename ptr_type::host_mirror_type::array_layout,
 
  490                       typename ptr_type::host_mirror_type::execution_space,
 
  491                       Kokkos::MemoryUnmanaged>
 
  492      host_input_keys_type;
 
  495                       typename ptr_type::host_mirror_type::array_layout,
 
  496                       typename ptr_type::host_mirror_type::execution_space,
 
  497                       Kokkos::MemoryUnmanaged>
 
  498      host_input_vals_type;
 
  522  init(
const host_input_keys_type& 
keys,
 
  523       const host_input_vals_type& 
vals,
 
 
FixedHashTable(const FixedHashTable< KeyType, ValueType, InDeviceType > &src, typename std::enable_if<!std::is_same< DeviceType, InDeviceType >::value, int >::type *=NULL)
"Copy" constructor that takes a FixedHashTable with the same KeyType and ValueType,...