diff --git a/drmconnector.cpp b/drmconnector.cpp
index 7e9b0c1..7f1f2b0 100644
--- a/drmconnector.cpp
+++ b/drmconnector.cpp
@@ -41,9 +41,6 @@
       possible_encoders_(possible_encoders) {
 }
 
-DrmConnector::~DrmConnector() {
-}
-
 int DrmConnector::Init() {
   int ret = drm_->GetConnectorProperty(*this, "DPMS", &dpms_property_);
   if (ret) {
@@ -87,10 +84,9 @@
   std::vector<DrmMode> new_modes;
   for (int i = 0; i < c->count_modes; ++i) {
     bool exists = false;
-    for (std::vector<DrmMode>::iterator iter = modes_.begin();
-         iter != modes_.end(); ++iter) {
-      if (*iter == c->modes[i]) {
-        new_modes.push_back(*iter);
+    for (const DrmMode &mode : modes_) {
+      if (mode == c->modes[i]) {
+        new_modes.push_back(mode);
         exists = true;
         break;
       }
@@ -122,14 +118,6 @@
   return crtc_id_property_;
 }
 
-DrmConnector::ModeIter DrmConnector::begin_modes() const {
-  return modes_.begin();
-}
-
-DrmConnector::ModeIter DrmConnector::end_modes() const {
-  return modes_.end();
-}
-
 DrmEncoder *DrmConnector::encoder() const {
   return encoder_;
 }
@@ -138,14 +126,6 @@
   encoder_ = encoder;
 }
 
-DrmConnector::EncoderIter DrmConnector::begin_possible_encoders() const {
-  return possible_encoders_.begin();
-}
-
-DrmConnector::EncoderIter DrmConnector::end_possible_encoders() const {
-  return possible_encoders_.end();
-}
-
 uint32_t DrmConnector::mm_width() const {
   return mm_width_;
 }
