class_docstr: Parameters
  ---------
  readers : dict[str -> SessionBarReader]
      A dict mapping country codes to SessionBarReader instances to
      service each country.
class_docstr_tok: ["Parameters","--","--","--","--","-","readers",":","dict","[","str","-",">","SessionBarReader","]","A","dict","mapping","country","codes","to","SessionBarReader","instances","to","service","each","country","."]
docstr: A set-like object of the country codes supplied by this reader.
          
docstr_tok: ["A","set-like","object","of","the","country","codes","supplied","by","this","reader","."]
code: def countries(self):
      """A set-like object of the country codes supplied by this reader."""
      return viewkeys(self._readers)
  
imports: from functools import partial
  import h5py
  import logbook
  import numpy
  import pandas
  from six import iteritems, raise_from, viewkeys
  from six.moves import reduce
  from zipline.data.bar_reader import NoDataAfterDate, NoDataBeforeDate, NoDataForSid, NoDataOnDate
  from zipline.data.session_bars import CurrencyAwareSessionBarReader
  from zipline.utils.memoize import lazyval
  from zipline.utils.numpy_utils import bytes_array_to_native_str_object_array
  from zipline.utils.pandas_utils import check_indexes_all_same
label_desc: Use image node_id 4 for calling the MultiCountryDailyBarReader obj's underlying member method code with example usage: obj.countries() and returns: viewkeys